文章目录
关键字:
devops:开发运维
CI:continuous integrity。持续集成
CD:continous deploy。持续部署
jenkins:ci/cd的一个工具
一、jenkins自动化部署工作原理
为github hook trigger的工作原理
为轮询(非hook)时的jenkins工作原理。
如果你装jenkins的地址是一个公网ip,可以选择使用gitHub hook通知jenkins进行构建部署;如果是本机,就使用轮效,让装jenkins的机器主动轮效你的代码仓库
二、操作
2.1 下载安装jenkins
如果本机安装了java可以选择war包,如果不依赖平台,可以选择docker。
2.2 jenkins上创建任务
源码管理,填github仓库地址
jenkins将项目拉去下来,是放在用户目录下的.jenkins/workspace/下面的
2.3 项目内的一些配置
其实这一步可以不用做,但是为了操作方便。
- 可以添加bestzip压缩代码,好上传代码。
npm install bestzip
- 安装jenkins依赖。方便让jenkins构建部署。
npm install jenkins
- 修改package.json
"pub": "npm run build && bestzip dist.zip dist node_modules prod.server.js && git add --all &&git commit -m 'pub' && git push && node ./deploy.js"
添加一条命令,用于build代码,压缩代码,让jenkins构建
- 添加deploy.js。
const jenkins = require("jenkins")({
baseUrl: "http://jenkins_admin:123456@localhost:8080",
crumbIssuer: true
});
jenkins.job.build(`miumiu`, function(err, data) {
if (err) throw err;
console.log("queue item number", data);
});
现在,我们只需要通过npm run pub
就可以完成代码的提交,构建,运行。
三、一些坑
3.1 在window上,执行任务时 sh -xe C:\Users\LETFL\AppData\Local\Temp\jenkins636005649519451715.sh
去这里,设置sh的地址(一般装了github,可以使用github的sh)