自动化部署工具,释放部署流程
运维工具?不存在的,作为开发什么都得了解,之前公司手动部署流程可太麻烦了,不同项目不同流程手动处理,小本本都记不下了
本篇是centos搭建Jenkins持续集成环境的教程
Jenkins能做什么
当然是部署自动化啦,java底层的持续集成的工具平台,插件包管理
- 本地代码push到GitHub
- Webhook自动触发jenkins上的构建动作
- 完成安装node插件并且打包
- 通过Publish Over SSH插件,将打包出来的文件,部署到目标服务器上
准备
github、centos、java sdk、nginx、jenkins
安装过程
1 | $yum install java |
配置jenkis的端口
vi /etc/sysconfig/jenkins
修改
JENKINS_PORT=”8080”
service jenkins start // 默认8080,记得服务器开端口
service jenkins stop
service jenkins restart
systemctl daemon-reload // 重启
// 选择安装推荐的插件
// 等待大约20个包安装
// 创建管理员账户
// 然后再安装推荐的插件 Rebuilder, SafeRestart,Publish over SSH插件
Publish Over SSH插件安装后进入Configure System,最底下有Publish Over SSH配置
需要配置jenkins服务器和centos服务器的密钥认证
构建第一个任务
- 选择自由风格
- 源码管理
https://github.com/Gitby-Leo/xxx.git
- Credentials绑定仓库账号
- 构建环境 Provide Node & npm bin/ folder to PATH
- 选择开发时的Node版本
- 构建
- 执行shell
1 | !/bin/bash |
配置服务器部署
- 构建后操作 SSH Server
1 | Name leo_aly |
- 应用、保存
当仓库有内容时,执行构建可以看到构建进度
注意Nginx非proxy_pass模式的路径配置
配置自动构建
jenkins配置
- 安装Generic Webhook Trigger插件,用来push代码后自动构建jenkins
- 配置工程中的构建触发器,选择Generic Webhook Trigger,填写token,才能和github仓库关联
- 比如设置简单的16位md5加密123456,token=49ba59abbe56e057
github配置
- 进入仓库settings,左侧webhooks,add webhooks
- url配置为xxx:8080/generic-webhook-trigger/invoke?token=49ba59abbe56e057
- Just the push event在push代码时触发webhook
提交
测试
修改一个字符,提交到github,可以看到jenkins面版里自动开始构建,并成功更新
很久不用docker了
下一篇用docker打包镜像,自动化容器构建