自动部署(GitHub + Jenkins + Vue)

注意:本文是基于上一篇文章《Docker基础入门》,https://blog.csdn.net/MiemieWan/article/details/107047467

第十一章中的脚本文件start.sh修改如下,且移动到honor文件夹下,详情查看:https://github.com/141110126/honor

# linux脚本文件
# 拉取代码
echo '开始执行start.sh'

cd admin

npm i 

# 打包
npm run build

# 删除容器
docker rm -f honor-admin

# 打印当前文件的绝对路径
echo $(cd $(dirname $0); pwd)

# 启动容器
docker run -d --restart=on-failure:5 -p 8082:80 -v $(cd $(dirname $0); pwd)/dist:/usr/share/nginx/html --name honor-admin nginx

 

本文目标:vue项目上传github后,服务器上自动拉取代码(webhook),并自动编译部署代码。

工具: Jenkins。jenkins是当前比较流行的一款持续集成&持续部署(CI & CD)的工具,可以实现代码上传仓库(代码更新)后自动部署到需要部署的位置(服务器等)。

一、安装Jenkins

1.安装Java环境

Jenkins是使用Java编写的持续集成的工具,所以需要先安装Java环境.

(1)查看可安装的java版本:

yum -y list java*

(2)选择一个版本安装

yum install -y java-1.8.0-openjdk-devel.x86_64

(3)检查是否安装成功

java -version

 

2.jenkins大致有三种安装方式:

  1. 使用war包进行安装
  2. linux使用rpm方式安装
  3. docker方式安装jenkins

选择使用rpm安装的原因有:1.当前使用的正是linux系统 2.使用docker安装后,在容器内访问宿主机的docker命令太困难。

yum的repos中默认是没有Jenkins的,需要先将Jenkins存储库添加到yum repos。

// 将Jenkins存储库添加到yum repos
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
// 导入公钥
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key 

// 安装jenkins
yum install jenkins

注意:如果出现 Public key for jenkins-2.244-1.1.noarch.rpm is not installed,则使用一下方法跳过公钥检查

yum install jenkins --nogpgcheck

3.启动Jenkins

Jenkins:启动/停止/重启(start/stop/restart)

service jenkins start

4.检测是否成功

打开浏览器输入 ip:8080

几秒后自动跳转到以下页面:

 

5.获取密码:

服务器中输入 cat 和 页面中的红色代码

 

6.复制并输入后点击继续,安装需要的插件:

 

安装完成后进入欢迎页: 



7.创建任务: 

8.填入git信息:

添加git账号:

 

选取设置的git账号:

 

9.github中添加webhook:

本地push代码到github上后,触发Webhook,jenkins自动执行构建。

jenkins安装Generic Webhook Trigger 插件:

找到管理创建选项:

搜索Generic Webhook Trigger Plugin插件 并选中,点击左下角按钮进行安装:

 

任务配置中选中Grneric Webhook Trigger,并填写token:

 

github添加触发器

在jenkins中我们开启了github trigger,但是呢,github方还不知道在我们push完代码之后应该通知jenkins,以及通知哪个jenkins.

去github中,找到当前项目,点击setting,找到webhook选项,添加上ip + Jenkins中默认的路由 + token ,例如http://129.204.155.35:8080/generic-webhook-trigger/invoke?token=123456,保存即可。

10.配置触发器:

 

11.执行shell

 点击左下角保存按钮保存任务配置。

12.将jenkins加入docker组

start.sh中有启动docker的命令,但是用jenkins去执行的话,由于jenkins不在docker的组内,所以执行一些命令的时候没有权限,所以要将jenkins加入docker组

1. 将jenkins加入docker组
gpasswd -a jenkins docker
2. 重启jenkins服务
service jenkins restart

 

13.执行任务

进入任务中,点击Build Now, 任务开始执行

点击进入Build History中最新的任务,点击Console Output查看脚本执行结果

 

14.检测是否成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值