腾讯云服务器--宝塔面板安装jenkins自动部署vue项目

1,187 阅读4分钟

jenkins自动构建部署vue项目

安装jenkins俩种方式

一、通过docker安装

1.安装docker

1). 在宝塔面板的软件商店中安装docker

2). 通过终端安装docker

### 安装
1、安装docker:sudo apt-get install -y docker.io

2、启动docker服务:systemctl start docker

3、设置开机启动:systemctl enable docker

4、查看docker状态:systemctl status docker

5、停止docker服务:systemctl stop docker

6、查看docker版本:docker version

### 非root用户运行docker

1、添加docker用户组:sudo groupadd docker

执行以上命令会提示已存在,原因是在安装docker时已自动创建。

2、将指定用户添加到用户组(username为你的用户名):sudo gpasswd -a username docker

3、查看是否添加成功:cat /etc/group | grep ^docker

3、重启docker:sudo systemctl restart docker

5、更新用户组:newgrp docker

2.jenkins安装与配置

1).下载jenkins镜像

docker pull jenkins/jenkins:lts        //lts表示支持版本较长

2022-11-09 11-06-48 的屏幕截图.png

2). 创立jenkins挂载目录并赋权限

mkdir -p /mydata/jenkins_home
chown -R 1000 /mydata/jenkins_home/

3). 创立并启动Jenkins容器

docker run -di --name=jenkins -p 8080:8080 -v  /mydata/jenkins_home:/var/jenkins_home jenkins/jenkins:lts

-d 标识是让 docker 容器在后盾运行
-p 10240:8080 将镜像的8080端口映射到服务器的10240端口
-p 10241:50000 将镜像的50000端口映射到服务器的10241端口
-v  /mydata/jenkins_home:/var/jenkins_home目录为容器jenkins工作目录,咱们将硬盘上的一个目录挂载到这个地位,不便后续更新镜像后持续应用原来的工作目录。这里咱们设置的就是下面咱们创立的 /var/jenkins_mount目录
--name定义一个容器的名字,如果没有指定,那么会主动生成一个随机数字符串当做UUID

2022-11-09 11-10-55 的屏幕截图.png 搭建成功

4).浏览器访问http://x.x.x.x:port ( 本地服务器+默认端口号为8080)

初次加载等待页面跳转 image.png

第一次登录需输入密码

2022-11-09 10-47-40 的屏幕截图.png 可在终端输入命令获取密码

docker logs jenkins

image.png

接着进入新手入门界面

  1. 选择安装推荐的插件

2022-11-09 10-49-51 的屏幕截图.png

2022-11-09 10-51-34 的屏幕截图.png 2. 创建第一个管理员用户,自己创建用户名和密码即可

2022-11-09 11-16-42 的屏幕截图.png 3. 实例配置的URL可以不用改,默认即可,保存并完成,点击重启即可

2022-11-09 11-20-40 的屏幕截图.png

5).配置插件

进入jenkins,在系统管理中安装插件安装插件NodeJS Plugin 、Publish Over SSH 、SSH plugin

image.png

6).添加凭据

2022-11-09 13-44-21 的屏幕截图.jpg

2022-11-09 13-46-14 的屏幕截图.jpg

2022-11-09 13-46-46 的屏幕截图.jpg

2022-11-09 13-47-44 的屏幕截图.jpg

2022-11-09 13-48-43 的屏幕截图.png

7).全局工具配置

Dashboard》》》(左侧)系统管理》》》(右侧)全局工具配置
配置node

2022-11-09 13-50-14 的屏幕截图.jpg

2022-11-09 13-50-49 的屏幕截图.jpg

点击应用、保存按钮
切记,千万不要选择18版本的,不然构建的时候会出问题

8).全局配置

Dashboard》》》(左侧)系统管理》》》(右侧)系统配置
配置 SSH remote hosts》SSH sites

图片.png 配置Publish over SSH
这一步最重要,就是构建后把包部署到服务器上,首先这不是需要一个key
回到宝塔终端,以下步骤

1.终端输入: ssh-keygen (建立密钥对) ,一路回车键即可,如果要输入y的,请输入y
2.cd .ssh 会看到密钥和公钥
3.在宝塔中开放秘钥登录

图片.png 接下来回到jenkins:
1.Dashboard》》》(左侧)系统管理》》》(右侧)系统配置
2.Publish over SSH》key》复制刚才的秘钥
3.配置SSH Servers

图片.png

点击应用、保存按钮

9).新建任务(项目自动部署)

图片.png

这里我用的是gitee,需要配置git凭证,回到步骤6,添加gitee登录的用户名和密码即可,直接上配置图

图片.png

图片.png

接下来点击构建步骤,添加执行shell

图片.png

命令如下:

echo "开始构建"
node -v
npm -v
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install
npm run build
#进入到打包目录
cd dist
#删除上次打包生成的压缩文件
rm -rf *.tar.gz
#把生成的项目打包成压缩包方便传输到远程服务器
tar -zcvf `date +%Y-%m-%d-%H-%M-%S`.tar.gz *
#回到上层工作目录
cd ../
echo "构建结束"

继续点击增加构建步骤,选择如图所示,配置构建后部署到服务器上

图片.png

图片.png

命令如下:

#进入远程服务器的目录
cd /www/wwwroot/你的项目地址
#找到新的压缩包
tar -zxvf *.tar.gz -C ./
echo ">>>移除*.tar.gz"
rm -rf *.tar.gz
#发布完成
echo "发布完成"

点击应用、保存按钮即可

基本搭建完成,

2022-11-09 14-07-07 的屏幕截图.jpg

2022-11-09 14-09-57 的屏幕截图.jpg

2022-11-09 14-10-55 的屏幕截图.jpg

10).扩展(配置webhoo,git仓库有推送时自动构建)

Dashboard》插件管理》搜索Generic Webhook Trigger并安装
这个时候需要一个token
Dashboard》用户列表中选择你的项目所对应的用户,在用户名列表最右侧有位于字段提示您该用户所包含的项目
此时会看到API Token选型,只需要点击添加新的Token即可获得一个token,复制token
配置仓库的webhook

2022-11-09 14-14-13 的屏幕截图.png

URL地址如下:

http://<您的jenkins访问路径>/generic-webhook-trigger/invoke?token=<您刚刚复制的token>

回到jenkins中,重新配置项目,新增一项配置

2022-11-09 14-11-32 的屏幕截图 (2).jpg 选中后点击应用、保存即可

配置完后回到项目中重新推送代码,就能自动触发构建了