博客
关于我
『中级篇』docker之CI/CD持续集成-项目生成镜像(76)
阅读量:343 次
发布时间:2019-03-04

本文共 2076 字,大约阅读时间需要 6 分钟。

Harbor镜像仓库搭建与GitLab CI集成

搭建私有镜像仓库Harbor并集成GitLab CI,能够帮助开发团队更高效地管理和构建软件项目。以下是搭建Harbor和配置GitLab CI的完整步骤。

Harbor镜像仓库安装

1. 安装前准备

确保服务器环境满足Harbor的系统要求,包括:

  • CPU: 至少4核
  • 内存: 至少16GB
  • 存储: 至少50GB的可用空间
  • 网络: 公网IP或私有网络环境

2. 安装Harbor

通过Vagrant安装Harbor:

vagrant reload

下载Harbor安装包并解压:

sudo yum -y install lrzsztar xvf harbor-online-installer-v1.5.2.tgzcd harborsudo ./install.sh

3. 配置Harbor

执行以下命令完成Harbor的安装配置:

sudo ./preparesudo docker-compose up -d

4.访问Harbor

Harbor安装完成后,访问服务器IP地址:http://172.28.128.6

  • 用户名: admin
  • 密码: Harbor12345

Harbor镜像推送

1. 登录Harbor

使用以下命令登录Harbor:

sudo docker login 172.28.128.6 -u admin -p Harbor12345

2. 推送镜像

推送镜像时,确保镜像名称格式为<用户名>/<项目名>:<标签>

sudo docker tag busybox 172.28.128.6/idig8/busyboxsudo docker login 172.28.128.6 -u idig8 -p 123456789sudo docker push 172.28.128.6/idig8/busybox

GitLab CI与Harbor集成

1. 修改GitLab CI配置

编辑gitlab-ci.yml文件,添加以下内容:

stages:  - style  - test  - deploy  - releasepep8:  stage: style  script:    - pip install tox    - tox -e pep8tags:  - python2.7  except:    - tagsunittest-py27:  stage: test  script:    - pip install tox    - tox -e py27  tags:    - python2.7  except:    - tagsunittest-py34:  stage: test  script:    - pip install tox    - tox -e py34  tags:    - python3/4  except:    - tagsdocker-deploy:  stage: deploy  script:    - docker build -t flask-demo .    - docker rm -f web || true    - docker run -d -p 5000:5000 --name web flask-demo  tags:    - test1  only:    - masterdocker-image-release:  stage: release  script:    - docker login 172.28.128.6 -u idig8 -p 123456789    - docker build -t 172.28.128.6/idig8/flask-demo:$CI_COMMIT_TAG .    - docker login 172.28.128.6 -u idig8 -p 1qaz@WSX3edc    - docker push 172.28.128.6/idig8/flask-demo:$CI_COMMIT_TAG  tags:    - test1  only:    - tags

2. 触发CI流程

提交代码后,GitLab CI会自动触发流程:

  • 分支校验:流程校验分支,确保代码质量。
  • 构建镜像:构建Docker镜像并部署测试环境。
  • 镜像发布:根据CI标签发布镜像到Harbor。
  • 3. 自动化部署

    镜像发布后,自动化流程会将镜像打包并上传至Harbor,随后触发CI流程合并到主分支,自动执行部署任务。

    注意事项

    • 镜像版本控制:每个版本对应特定的标签,确保镜像可追溯。
    • 权限管理:合理分配Harbor的用户权限,确保镜像安全。
    • 自动化脚本:在CI脚本中添加镜像登录和推送权限,提升操作自动化水平。

    通过以上步骤,可以轻松搭建Harbor私有镜像仓库,并实现GitLab CI与Harbor的无缝集成,实现持续集成和镜像管理的高效化。

    转载地址:http://stpe.baihongyu.com/

    你可能感兴趣的文章
    nginx反向代理
    查看>>
    Nginx反向代理
    查看>>
    nginx反向代理、文件批量改名及统计ip访问量等精髓总结
    查看>>
    Nginx反向代理与正向代理配置
    查看>>
    Nginx反向代理及负载均衡实现过程部署
    查看>>
    Nginx反向代理和负载均衡部署指南
    查看>>
    Nginx反向代理是什么意思?如何配置Nginx反向代理?
    查看>>
    nginx反向代理解决跨域问题,使本地调试更方便
    查看>>
    nginx反向代理转发、正则、重写、负摘均衡配置案例
    查看>>
    Nginx反向代理配置
    查看>>
    Nginx启动SSL功能,并进行功能优化,你看这个就足够了
    查看>>
    nginx启动脚本
    查看>>
    Nginx和Tomcat的区别
    查看>>
    Nginx在Windows上和Linux上(Docker启动)分别配置基本身份认证示例
    查看>>
    Nginx在Windows下载安装启动与配置前后端请求代理
    查看>>
    Nginx在开发中常用的基础命令
    查看>>
    Nginx多域名,多证书,多服务配置,实用版
    查看>>
    nginx如何实现图片防盗链
    查看>>
    Nginx学习总结(11)——提高Nginx服务器的安全性,稳定性和性能的12种技巧
    查看>>
    Nginx学习总结(12)——Nginx各项配置总结
    查看>>