博客
关于我
『中级篇』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/

    你可能感兴趣的文章
    MYSQL中TINYINT的取值范围
    查看>>
    MySQL中UPDATE语句的神奇技巧,让你操作数据库如虎添翼!
    查看>>
    Mysql中varchar类型数字排序不对踩坑记录
    查看>>
    MySQL中一条SQL语句到底是如何执行的呢?
    查看>>
    MySQL中你必须知道的10件事,1.5万字!
    查看>>
    MySQL中使用IN()查询到底走不走索引?
    查看>>
    Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
    查看>>
    MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
    查看>>
    mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
    查看>>
    mysql中出现Unit mysql.service could not be found 的解决方法
    查看>>
    mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
    查看>>
    Mysql中各类锁的机制图文详细解析(全)
    查看>>