zoukankan      html  css  js  c++  java
  • jenkins(8): 实战jenkins+gitlab持续集成发布php项目(代码不需要编译)

    一. jenkins 的配置

    1.前提条件安装了GitLab Plugin (源码管理使用),GitLab Hook(gitlab webhook需要)

    Manage Jenkins--->Manage Plugin ---->Available 去找到安装。

    2.  创建 job ,选择 自由风格的项目,点击ok

    3. 源码管理

      描述配置

     源码管理:要想连接 gitlab服务器,有两种选择,用http协议或者 ssh协议,这里我们使用ssh

    首先填写  gitlab 的url

    配置到gilab 的认证: Credentials ,点击ADD,复制 gitlab ssh密钥对的私钥到下图.

    认证成功如下图:没有任何报错了

      说明:  如果 gitlab 配置了ssh 密钥对,jenkins这边也添加了 包含私钥的凭证还是无法正常连接的话,参考: https://www.cnblogs.com/yitianyouyitian/p/10027552.html

    4. 构建触发器设置

      勾选如下, 下面的url是回调地址, gitlab webhook 那边的设置会用上.

    区分分支 触发构建 设置如下: 只用master分分支变化后才会触发构建.

    5. 构建

    选择  Execute shell

    shell脚本编写,将 代码同步到web服务器目录,重启服务。

    注意: shell命令的执行 是在 jenkins 的job 的workspace 目录进行的. 这里是项目 php1的工作目录  /root/.jenkins/workspace/php1 。jenkins从gitlab pull的代码就是放置在这里.

    注意: 在这踩坑了,执行 rsync 总是失败,提示permission deny。问题是ssh 无密码访问的问题。这里的jenkins 访问 远程主机  使用的不是默认名字(id_rsa等)的密钥。解决方法如下.

    #在 /etc/ssh/ssh_config 添加如下内容
    
    #指明命令中 需要ssh 远程的主机锁使用的用户和密钥。
    Host 172.10.30.228
        user root
        IdentityFile ~/.ssh/id_rsa1
    
    #防止弹出判断选择
    StrictHostKeyChecking no

    二. gitlab 配置

     1. gitlab webhook 设置

    进入 project .点击 setting-----> integrations设置。注意不是 管理区域的 系统钩子. 

    填写 上面  构建触发器中的 url. 安全令牌有无都可以(令牌来自jenkins构建触发器中选中的Build When a change is pushed右下角的高级选项,有一个Secret token,点击 Generate,会生成一个安全代码).            

     点击 test来测试是否可以成功触发.

    出现的问题: test 的时候 出现403 anonymous is missing the Job/Build permission  错误。参考: https://blog.csdn.net/u011662047/article/details/80525503

     两步解决问题 (测试了,其实只需要第一步就ok了。)
    1. 系统管理 -> 插件管理 -> 安装插件gitlab hook 

    2. 系统管理 -> 系统设置 -> 去掉 Enable authentication for ‘/project’ end-point 

    其他朋友总结的错误:

    https://www.cnblogs.com/zblade/p/9480366.html

     再记录一个坑:  gitlab 这边 test web hook 成功。但是push后不触发jenkins的构建.找了半天是gitlab 的服务sidekiq 和unicorn没有启动,吐血了。。。

  • 相关阅读:
    shell & awk 变量传递
    ubuntu下SVN服务器安装配置
    zabbix客户端配置
    python操作Excel读写--使用xlrd
    Zabbix Agent-Windows平台配置指导
    centos6.5下Zabbix系列之Zabbix安装搭建及汉化
    Centos 下安装Zabbix Linux 客户端
    zabbix监控mysql主从复制
    Zabbix利用msmtp+mutt发送邮件报警
    vue props传数组爬坑
  • 原文地址:https://www.cnblogs.com/yitianyouyitian/p/9259845.html
Copyright © 2011-2022 走看看