美文网首页jenkins
jenkins配置docker联合项目的CICD

jenkins配置docker联合项目的CICD

作者: Oooyzx | 来源:发表于2019-11-18 15:43 被阅读0次

    前提环境可参考文章:docker-compose构建cmdb联合容器项目什么是CICD

    CI:持续集成
    CD:持续部署

    在cmdb中生成密钥对:

    ssh-keygen >>>然后一路回车

    image.png

    获取cmdb的公钥:

    image.png

    在gitlab中添加cmdb的公钥:

    image.png

    jenkins中创建一个新的自由风格的任务:

    image.png

    添加任务的描叙信息:

    image.png

    配置git仓库

    URL:填写gitlab相应项目的ssh链接 如:git@gitlab的容器名:root/cicd-cmdb.git
    注意:要将gitlab的ssh链接前面改为gitlab的容器名

    image.png

    添加全局配置:

    配置git仓库时需要添加一个拥有连接gitlab权限的用户,此时就需要添加一个全局配置
    类型使用:SSH Username with private key

    也可以使用gitlab账户密码的方式(username-password),但是由于安全机制,采用私钥方式解密更加安全


    image.png
    image.png image.png
    描述:这里可填对此全局配置的一些描述信息,加以区分其他全局配置
    Private Key:此处填写的是jenkins的私钥,用来解密

    若对ssh原理以及公钥私钥使用比较迷惑,可参考Linux下ssh-copy-id命令解析ssh-keygen的过程

    image.png

    构建触发器

    此处创建了一个webhook用于gitlab仓库发生更改时(如push事件)用于通知jenkins,触发jenkins去gitlab拉取代码,实现ci持续集成操作

    image.png

    构建

    此处,我选择构建步骤为执行shell

    image.png

    填写想执行的shell命令,可使用支持的环境变量


    image.png

    使用publish over SSH:

    若安装了此插件,可使用


    image.png
    image.png
      1. 这里填写的是打好包的路径,是相对路径,相对于工作空间目录的,工作空间默认是在 $JENKINS_HOEM/workspace 目录下。每次新建一个构建任务时,会在此目录下创建一个和任务名同名的目录(比如:HelloMaven),在此目录下存放从远程代码库拉取的源代码,并且构建完成的文件(比如jar 包)也会在 HelloMaven/target 目录下。

      2. 是在把打好包的文件传输到远程应用服务器时,不希望被创建的目录名。 这个目录名必须是在 Source files 选项中填写的路径最前面的部分中。

      3. 远程应用服务器的目录,这个目录假如没有会被自动创建,但是此目录是给相对路径,相对于之前在系统设置中的 SSH Servers 中配置的服务器端路径,如下图中的 /opt/studentInfo

      4. 指构建后在远程应用服务器上执行的命令。

        注意:这里执行命令的用户同样是以下图中的Username 里填写的用户的身份执行的。假如执行命令是执行一个在远程应用服务器上的一个脚本,那么路径和文件都必须存在,并且,脚本中的任何相对路径都会相对于此用户的家目录。

    image.png

    配置完成保存后可进行构建测试

    修改项目上的静态文件然后push至gitlab,可观察到jenkins自动捕捉到push动作后,开始自动构建,然后构建完成后,访问nginx反向代理的端口即可观察到修改成功。


    image.png

    相关文章

      网友评论

        本文标题:jenkins配置docker联合项目的CICD

        本文链接:https://www.haomeiwen.com/subject/vxdjictx.html