zoukankan      html  css  js  c++  java
  • DevOps ---- GitLab + Maven + Docker + Harbor

    今天来记录一下自己这边儿做的CI,还没到CD那一步呢,不过就是添加一下构建后操作,没什么更大的难度,话不多说,整起来!

    实施过程:

    • 使用Docker安装Jenkins.
    • 在GitLab中配置与Jenkins主机之间的秘钥对儿.
    • Jenkins中安装可能用到的插件.
    • 安装Harbor
    • Jenkins系统配置
    • 创建任务

    1. 使用Docker安装Jenkins.

    这个有点儿坑,刚开始在Docker Hub上找镜像下载下来发现实老版本了,要装稳定版已经换了位置了,如下。

    ~]# docker pull jenkins/jenkins:lts
    ~]# docker images
    ....
    jenkins/jenkins                      lts
    ....
    # 为什么要做赋权这一步操作,是因为jenkins这个镜像内部的Dockerfile内容指定了用户是jenkins,uid为1000,如果不赋权限,Jenkins是起不来的= =;(排第一个坑)
    ~]# chown -R 1000:1000 /mnt/docker/jenkins
    ~]# docker run --name myjenkins -d --restart=always -p 8000:8080 -v /mnt/docker/jenkins/:/var/jenkins_home jenkins/jenkins:lts
    ~]# docker ps -l # 会查看到最近刚启动的容器
    ~]# docker logs -f myjenkins # 跟踪jenkins启动日志
    接下来Jenkins就是界面化了,直接依照顺序与说明进行就可以

    2.在GitLab中配置与Jenkins主机之间的秘钥对儿.

    这个位置要填写的公钥是Jenkins那台服务器上的公钥,如果没有生成的话要先手动生成一下;

    ~]# ssh-key-gen      #一路回车就可以
    ~]# cat ~/.ssh/id_rsa.pub # 将cat到的内容复制到下图中的4号位置并添加

     3.Jenkins中安装可能用到的插件.

    • Maven Integration plugin      # 用来创建Maven项目
    • Docker plugin                        # 用于集成Jenkins和Docker
    • CloudBees Docker Build and Publish plugin # 支持构建基于Dockerfile的项目,以及将构建的镜像发布到docker私有仓库
    • Build Timestamp Plugin        # 全局变量日期

    还有一些插件,因为我这是做完了项目写的,所以也没啥印象了,到时候你们看截图里如果没有我这点的东西的话就去下载就好。

    4.安装Harbor

    看我另一篇博客有过程:https://www.cnblogs.com/k-free-bolg/p/11060611.html

    当中的harbor.cfg中的hostname建议使用ip地址,不然主机名的话可能还要配置hosts文件才可以

    5. Jenkins系统配置

      a) 首先要配置maven,而且这个maven让他自己安装就可以,因为我这里安装完了,所以没有截图了;

      b) 配置全局变量时间,当部署时不输入版本号的时候,默认以时间作为镜像的tag(如下);

       c) 配置Docker云(拉到最下面可以看到,点进去)

      点进来之后就会看到如下图的这些内容,进行配置(这个Docker Host URI是在docker服务器上改的)

      /usr/lib/systemd/system/docker.service 按图中修改,端口号自定义

      

     

       配置完成后可在下图中的Docker中看到当前运行的容器

    6. 创建任务

      a) 根据项目名创建所需要得项目,配置可选分支功能;

       b)增加字符参数,为的是将值作为镜像的标签,方便分类版本,默认为当天日期(也是在参数化构建过程中配置)

       c) 配置项目Git地址(记得配置凭据,将jenkins宿主机上的私钥写进去即可)

       d) 配置maven命令及构建后操作(Dockerfile可在jenkins的工作目录中写)

     

       e) 开始构建并上传至Harbor(从图中可以看出,最后构建是成功的,且成功上传至了Harbor)

     这就是整个自动化构建的过程啦,后续补全部署!

  • 相关阅读:
    ASP.NET 页面间传递参数的方法
    Javascript 检查字符串是否是数字的几种方法
    周鸿祎教你写商业计划书
    提高网站程序性能的十条建议
    启动IIS6下Gzip功能详细操作步骤
    IT创业前要深思的八大问题
    学了php才知道MVC是怎么回事
    不能访问windows installer 服务 的解决方法
    SNS 相关
    【技术】Ubuntu上位机配置Blackfin开发环境手记
  • 原文地址:https://www.cnblogs.com/k-free-bolg/p/12935674.html
Copyright © 2011-2022 走看看