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

    你可能感兴趣的文章
    pandas 版本兼容特定的蟒蛇和NumPy配置吗?
    查看>>
    pandas 生成excel多级表头
    查看>>
    pandas 读取excel数据,以字典形式输出
    查看>>
    Pandas 读取具有浮点值的 csv 文件会导致奇怪的舍入和小数位数
    查看>>
    pandas 适用,但仅适用于满足条件的行
    查看>>
    pandas 重新采样到每月的特定工作日
    查看>>
    pandas :按移位分组和累加和(GroupBy Shift And Cumulative Sum)
    查看>>
    pandas :检测一个DF和另一个DF之间缺失的列
    查看>>
    Pandas-从具有嵌套列表列表的现有列创建动态列时出错
    查看>>
    Pandas-通过对列和索引的值求和来合并两个数据框
    查看>>
    pandas.read_csv()的详解-ChatGPT4o作答
    查看>>
    PANDAS.READ_EXCEL()输出‘;溢出错误:日期值超出范围‘;而不存在日期列
    查看>>
    Pandas:对给定列求和 DataFrame 行
    查看>>
    Pandas、Matplotlib、Pyecharts数据分析实践
    查看>>
    Pandas中文官档~基础用法2
    查看>>
    Pandas中文官档~基础用法6
    查看>>
    pandas交换两列
    查看>>
    pandas实战:电商平台用户分析
    查看>>
    pandas打乱数据的顺序
    查看>>
    pandas改变一列值(通过apply)
    查看>>