Docker Jenkins Gogs 实现 PHP项目自动部署

参考: Jenkins配置Gogs webhook插件

1. 安装插件: Gogs

2. 新建jenkins任务, 任务名称为test, 选择构建一个自由风格的软件项目:

新建任务

3. 配置jenkins任务, 参考下图:

任务配置

4. Gogs仓库设置Web钩子, 推送地址格式为http://ip:端口号/gogs-webhook/?job=jenkins任务名称:

此处的IP请使用docker网络分配给容器的IP; 如果使用了nginx反向代理, 则此处使用反代的域名: http://jenkins.zhangmoxuan.com/gogs-webhook/?job=test;

webhook配置

webhook配置

5. jenkins自动构建脚本(php):

  • --no-dev: 不安装开发插件
  • --ignore-platform-reqs: 忽略PHP版本和扩展依赖检查
#!/bin/bash
cp -r . /www/web/test
docker run -i --rm --name composer -v /www/web/test:/app --privileged=true composer:1 composer install --no-dev --ignore-platform-reqs

6. 测试推送