jenkins gitlab php,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 远程的主机锁使用的用户和密钥。
Host172.10.30.228user 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
其他朋友总结的错误:
再记录一个坑: gitlab 这边 test web hook 成功。但是push后不触发jenkins的构建.找了半天是gitlab 的服务sidekiq 和unicorn没有启动,吐血了。。。
jenkins gitlab php,jenkins(8): 实战jenkins+gitlab持续集成发布php项目(代码不需要编译)...相关推荐
- 如何使用Jenkins持续集成C#网站项目
2019独角兽企业重金招聘Python工程师标准>>> 上两节分别讲了如何从vss迁移C#网站项目到gitlab和如何使用nuget管理C#网站项目,其实都是为了最后一节的内容做铺垫 ...
- 实战Jenkins+SVN+tomcat持续集成发布
有代码更新后重新打包到tomcat再发布,是不是很烦? 看了下面的东西你就不会烦了. SVN或者git等代码版本控制工具不说了,如果是本地开发,也可以安装一个svn server端 jenkins下载 ...
- Docker+Jenkins+Harbor+Rancher持续集成部署分布式项目
目录 一.Docker篇 1.Docker 概述 2.Docker 平台 3.我可以使用 Docker 做什么? 3.1.快速.一致地交付应用程序 3.2.响应式部署和扩展 3.3.在相同硬件上运行更 ...
- GitLab持续集成在商用项目中的应用实践
两年前在开始一个新的商业项目时我花了两个星期时间在项目开发流程中应用上了持续集成,随后一年又随着项目的发展和商用化做了很多改进.所以掌握了GitLab 持续集成这套方案在商业软件中完整的落地实践经验. ...
- 持续集成部署Jenkins工作笔记0016---测试验证整个自动化持续集成流程
技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 来验证一下我们的自动化部署流程 修改一下咱们的程序,然后提交到svn 可以看到下面,一提交就可以取 ...
- 〖Python WEB 自动化测试实战篇⑮〗 实战 - 自动化测试的持续集成
订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...
- Springboot Gitlab Jenkins Maven Docker 持续集成/持续交付
Gilab安装教程 http://blog.csdn.net/chenhaifeng2016/article/details/78603216 http://blog.csdn.net/chenhai ...
- GitLab 与 Jenkins 结合构建持续集成环境
持续集成概述及运行流程 CI/CD介绍 把开发工作流程分为以下几个阶段: 编码 → 构建 → 集成 → 测试 → 交付 → 部署 正如你在上图中看到,持续集成(Continuous Integrati ...
- 【Jenkins】持续集成环境实战
pdf供下载:https://download.csdn.net/download/hancoder/19835802 1.持续集成及Jenkins介绍 2.Jenkins安装和持续集成环境配置 3. ...
最新文章
- qt 单元格加上边框_Excel如何自动添加边框?学会这个方法效率加倍!
- Oracle的参数文件pfile和spfile
- tomcat启动时一闪而过的几种原因
- DataTable 数字排序问题
- 鼠标移至图片后抖动的JS代码
- db2v9/9.5高级应用开发_使用 Vue.js 2.0 开发单页应用
- 局域网服务器时间自动校准,实现局域网内服务器时间同步的方法
- 三相 AC-DC 变换电路(B 题)-- 2021 年全国大学生电子设计竞赛
- PPT到WORD的组合图片复制
- 集合中的(交集,并集,差集,补集,对称差集)
- 2021全国大学生电子设计竞赛F题(智能送药小车)国一赛后总结
- Kaggle实战之 房价预测案例
- 提取音乐用什么软件哪个好
- 沧小海笔记本之xilinx srio核的学习记录之目录
- c语言结构体详解(struct)
- 【愚公系列】2022年01月 MinIO文件存储服务器-window11下的安装
- 2018.10.2模拟赛
- 初步学习——认识基站、扇区、小区、BBU、RRU、天线、馈线
- word中图形或文本框的组合问题
- linux笔记-系统修复
热门文章
- C++中的private protected public区别
- cuda二维数组内存分配和数据拷贝
- java 判断exception类型_Checked Exception | Java语言设计者的失误?
- 撒花!吴恩达《Machine Learning Yearning》中文版新鲜出炉!
- Cannot find reference ‘PDFDocument‘ in ‘pdfparser.py‘
- 如何将hive与mysql连接_hive连接mysql配置
- authc过滤器 shiro_使用Shiro实现认证和授权(基于SpringBoot)
- vc2010中设置ipch与sdf的位置
- MySQL 数据库的备份和恢复
- 在一个JS文件中包含中文字符串,通过innerHTML输出后中文乱码?