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

    你可能感兴趣的文章
    mysql8 配置文件配置group 问题 sql语句group不能使用报错解决 mysql8.X版本的my.cnf配置文件 my.cnf文件 能够使用的my.cnf配置文件
    查看>>
    MySQL8.0.29启动报错Different lower_case_table_names settings for server (‘0‘) and data dictionary (‘1‘)
    查看>>
    MYSQL8.0以上忘记root密码
    查看>>
    Mysql8.0以上重置初始密码的方法
    查看>>
    mysql8.0新特性-自增变量的持久化
    查看>>
    Mysql8.0注意url变更写法
    查看>>
    Mysql8.0的特性
    查看>>
    MySQL8修改密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    查看>>
    MySQL8修改密码的方法
    查看>>
    Mysql8在Centos上安装后忘记root密码如何重新设置
    查看>>
    Mysql8在Windows上离线安装时忘记root密码
    查看>>
    MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案
    查看>>
    mysql8的安装与卸载
    查看>>
    MySQL8,体验不一样的安装方式!
    查看>>
    MySQL: Host '127.0.0.1' is not allowed to connect to this MySQL server
    查看>>
    Mysql: 对换(替换)两条记录的同一个字段值
    查看>>
    mysql:Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock‘解决方法
    查看>>
    MYSQL:基础——3N范式的表结构设计
    查看>>
    MYSQL:基础——触发器
    查看>>
    Mysql:连接报错“closing inbound before receiving peer‘s close_notify”
    查看>>