Jenkins绑定GitHub项目并部署线上

532 阅读2分钟

Jenkins相关设置

  • 打开Jenkins网页,新建任务,输入项目名称,选择构建一个自由风格的项目 并确定

90575442137334f1c8421c1da0a1f351be4831426a5bbd019b23ec49bdbabf56QzpcVXNlcnNcZWRpc29cQXBwRGF0YVxSb2FtaW5nXERpbmdUYWxrXDEyNzIyMzMyNTdfdjJcSW1hZ2VGaWxlc1wxNjU2OTkwNDg2NjczXzAwNEI2Q0Y4LUY5NzYtNDNmZS04QjhBLTU3M0M1NzdFMDg2Qi5wbmc=.png

  • 进入任务设置页面

    1.General部分:添加任务的描述 310ee98b6b3790df26e55eeee60772fa3f27cd49488af3750be926ce0957b98eQzpcVXNlcnNcZWRpc29cQXBwRGF0YVxSb2FtaW5nXERpbmdUYWxrXDEyNzIyMzMyNTdfdjJcSW1hZ2VGaWxlc1wxNjU2OTkxMDU4NTU5XzBERUU4NjYwLURGNUItNDk2Zi05OTVDLTUzMzlDN0UzNjVFRC5wbmc=.png 2.源码管理部分:选择git,因为服务器中没有git,所以需要现在服务器中配置git

1c9c60520cfb0f8861bb1071f71625f2f84d8a8c34b3368ef27a1a979b26bbe4QzpcVXNlcnNcZWRpc29cQXBwRGF0YVxSb2FtaW5nXERpbmdUYWxrXDEyNzIyMzMyNTdfdjJcSW1hZ2VGaWxlc1wxNjU2OTkxMzIxNDY5XzQ3RkMzN0U3LTE4OEQtNDNlMS1BN0QyLThGREI1NDRCOTg5RS5wbmc=.png

f9c4a40b477996e234df1bef6d00843c9f6986d4025f519755562088c00839a5QzpcVXNlcnNcZWRpc29cQXBwRGF0YVxSb2FtaW5nXERpbmdUYWxrXDEyNzIyMzMyNTdfdjJcSW1hZ2VGaWxlc1wxNjU2OTkyMTIwMzg5X0YyMkUyNkE3LTYzN0UtNDBmZC1BQjhBLUNDMTAzQUI3ODgxMC5wbmc=.png

13b1470e9f96a05bd9374e93d18ae7bf4d8e543c7e05c85ccbfbdd18177ace6aQzpcVXNlcnNcZWRpc29cQXBwRGF0YVxSb2FtaW5nXERpbmdUYWxrXDEyNzIyMzMyNTdfdjJcSW1hZ2VGaWxlc1wxNjU2OTkyMzUzNTQwXzVCOEMxMDFELUQzQkUtNGMyZS1BN0RBLUZGM0VFOUFFQ0FEQS5wbmc=.png 3.构建触发器部分:选择定时构建

2490f39105168121d94791143359ae3afee8bc87e47ef15b424dcfe557725f79QzpcVXNlcnNcZWRpc29cQXBwRGF0YVxSb2FtaW5nXERpbmdUYWxrXDEyNzIyMzMyNTdfdjJcSW1hZ2VGaWxlc1wxNjU2OTkyODUxNTAyXzY3QTQzMEU1LUNDQjQtNDc2Yy04Rjg3LTNBNTIwRTVGODBGRS5wbmc=.png

定时构建语法
* * * * * 分别代表 分 时 天 月 周 默认代表每周每月每天每时每分都进行任务
H * * * * 代表每周每月每天每时的某一个分钟,不写具体分钟时为了避免多个任务时一起执行任务造成资源紧张
H/30 * * * * 每30分钟构建一次
H H/2 * * * 每两小时构建一次
H 12 * * * 每天十二点定时构建一次
H H 15 * * 每个月15号构建一次
H 9 * * 1-5 工作日早上9点构建
H、30 8-20、4 * * 1,3,5 每周1,3,5,从早上8.30开始,截至19.30,每4小时30分构建一次

4.构建环境相关,因为需要用到node,而Jenkins构建环境中是没有node的,所以需要配置node,回到Jenkins首页,选择系统管理->插件管理->在可选插件中搜索安装NodeJs,并重新启动,重新启动后回到系统管理,选择全局工具配置,看到NodeJS,选择新增NodeJS

36066b317c53ea701dc92880985308a2fde48e82195f106d54d39f7787429aaaQzpcVXNlcnNcZWRpc29cQXBwRGF0YVxSb2FtaW5nXERpbmdUYWxrXDEyNzIyMzMyNTdfdjJcSW1hZ2VGaWxlc1wxNjU2OTk2NzQ1OTM2X0Q4N0NBODM5LTgwOEQtNGU1YS1BM0UyLUQwM0MzRkFDOUU4QS5wbmc=.png 回到任务的配置构建环境部分,这时就有node相关,只需要选中即可

0e854c393fd5c829fe550bf7f69d23a3fbe782889fbd79ea1c0021755b5758dfQzpcVXNlcnNcZWRpc29cQXBwRGF0YVxSb2FtaW5nXERpbmdUYWxrXDEyNzIyMzMyNTdfdjJcSW1hZ2VGaWxlc1wxNjU2OTk2ODgxMzAyXzU0MUUxODBDLTExRkQtNDE3OC1CRDdELUI1QTAzRUZENUMyRS5wbmc=.png 5.构建部分,选择shell

af0dc19f02d12129aef0be787fdb31bc7cb83559ce47d880996b58e7219faa6bQzpcVXNlcnNcZWRpc29cQXBwRGF0YVxSb2FtaW5nXERpbmdUYWxrXDEyNzIyMzMyNTdfdjJcSW1hZ2VGaWxlc1wxNjU2OTk3MDU3MTEyXzBCM0Q3MTA5LTJBQjAtNDRjNy1CMThCLThFNjFEODZCRTQ4MC5wbmc=.png

pwd
npm -v
node -v
npm install
npm run build
echo '构建完成-'
ls
# 删除/root/mall_cms文件夹里所有的内容
rm -rf /root/mall_cms/* 
# 生成的是build文件而不是dist文件夹
cp -rf ./build/* /root/mall_cms/

6.因为上述操作涉及到文件操作,可能会产生没有权限的问题,所以还需要对权限进行操作,将etc/sysconfig/jenkins里面的Jenkins_user修改为root,保存并重启Jenkins 上面的方法已经不起作用了。新的方法是修改

vim /usr/lib/systemd/system/jenkins.service

6ec37ff962514335b2b6ab1e07cef2a3.png

7.点击保存

8.立即构建,出现128问题,找了半天发现是开了加速器的问题,最后关闭加速器构建完成

ef084d082e0abda513bb0b977fbe25a64460d0ce8d692ffa1e3999390c3412e8QzpcVXNlcnNcZWRpc29cQXBwRGF0YVxSb2FtaW5nXERpbmdUYWxrXDEyNzIyMzMyNTdfdjJcSW1hZ2VGaWxlc1wxNjU3MDAxMzI1MDI0XzQ3Qjc1NzQzLTJDMzctNGI0Zi05Mjg0LThDOTAzMkFENkRERi5wbmc=.png 但是此时build完之后发现没有出现相应的dist文件夹(因为项目中vue.config.js里设置的是build文件夹)

57513336a2527c99b1153c7befd9bc3e3e92decaf98c9a61be6fffc3c6a3e481QzpcVXNlcnNcZWRpc29cQXBwRGF0YVxSb2FtaW5nXERpbmdUYWxrXDEyNzIyMzMyNTdfdjJcSW1hZ2VGaWxlc1wxNjU3MDAxNDEyOTgzX0NEQkZFNTc4LUMwRDQtNDdkMS05QzdBLTc2Q0I5MjE4Q0QzNy5wbmc=.png

至此项目已经部署完毕了