写在之前:由于目前项目用了类微服务架构,涉及到的服务有9个,每次发测试或正式版都需要每个服务中去pull && restart,比较混乱,容易出错,故尝试用持续集成的方式来减少开发部署的工作量,目前只是先用jenkins做简单的自动部署,后续会增加测试、docker部署相关东东。emmmm…..步子一步一步来,跨大了容易扯着蛋。
安装配置jenkins
使用Docker安装运行Jenkins
拉取Jenkins镜像
docker pull jenkins/jenkins
运行Jenkins容器
docker run –name jenkins -p 8080:8080 -v /mydir/:/var/jenkins_home -d jenkins/jenkins
运行成功后浏览 http://xx.xx.xx.xx:8080,输入初始密码,安装默认插件后进入Jenkins首页
安装插件
在 系统管理->插件管理中 查找并安装 Git plugin 、 GitLab Plugin 、Publish Over SSH
配置代码源(默认插件)
配置构建触发器
配置后执行远程指令
配置Publish Over SSH
系统管理-> Publish Over SSH
输入相关信息,测试连接,返回Success 即配置ok。
全局安全配置
在 系统管理->全局安全配置 勾选 匿名用户具有可读权限
创建项目
新建一个自由风格的任务
源码管理输入GitLab源码地址
添加用户凭据
在 构建触发器 选择GitLab Plugin插件
输入想要触发的分支,生成Secret Token(GitLab配置 Web hook时会用到) 。
在 构建环境中配置Push Over SSH 插件
配置源路径及远端文件夹路径,以及要执行的命令,可以在高级中配置需要排除的文件及文件夹
保存任务。
再配置GitLab 项目 web hook,
project -> Settings -> Integrations
URL 和 secret token 可以在 上面构建触发器步骤中得到
添加webhook后可以测试push操作,push后如果jenkins项目自动构建,则配置完成。