前端docker+nginx+jenkins+gitee实现动化部署

192 阅读2分钟

1.安装docker

我这里以ubuntu系统为例

docs.docker.com/engine/inst…

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

测试是否安装成功 docker -v 出现以下就安装成功

2.安装nginx 镜像

docker pull  nginx:latest

3.安装jenkins 镜像

docker pull jenkins/jenkins:lts

4.运行jenkins

4.1其中/webhook/jenkins可以替换其他路径 如/home

docker run -d --name jenkins --user root --restart always -p 8080:8080 -p 50000:50000 -v /webhook/jenkins:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v /usr/local/bin/docker-compose:/usr/local/bin/docker-compose jenkins/jenkins:lts

4.2启动后会看到如下界面 其他密码在你刚才 /webhook/jenkins/secrets/initialAdminPassword

4.3输入密码之后会进去,这个页面选择安装推荐插件

4.4登录进入jenkins控制台

我们直接选择使用admin账户继续就行, 账号就是admin ,密码是刚才 /webhook/jenkins/secrets/initialAdminPassword 下的密码

4.5安装需要插件

4.5.1 安装nodejs

4.5.2 安装Generic Webhook Trigger

4.5.3 安装Publish Over SSH

4.5.4 配置设置

1.配置安全设置:

勾选匿名用户具有可读全新保存

  1. 配置工具设置 nodejs :

别名随意取, 版本选择你需要的即可

  1. 配置Publish over SSH:

name 随意取, hostname服务器公网IP地址 ,username 服务器账号, 选择高级输入服务器密码

  1. 生成APIToken 11a8cddbf7d484e6f89232293b00b9a92d

4.6创建任务

4.6.1新建任务

4.6.2源码管理

输入远程仓库url 如: gitee.com/zhongfulin1…

4.6.3构建触发器

这个token是前面生成的APItoken

4.6.4构建环境

4.6.5 增加构建步骤

选择执行shell 编写shell脚本

node -v &&
npm -v &&
pwd &&
npm install
npm run build &&
tar -zcvf dist.tar ./dist
4.6.6构建后操作

这个会把dist.tar 解压到服务器的 /webhook/文件夹

dist.tar

tar -xvf dist.tar -C /webhook/

5.gitee webhook配置

http://123.249.34.68:8080/generic-webhook-trigger/invoke?token=11a8cddbf7d484e6f89232293b00b9a92d

这个url是前面配置构建触发器生成的url 对应着替换就行

6.运行nginx

docker run -d --name nginx --restart always -p 80:80 -p 433:433  -v /webhook/dist:/usr/share/nginx/html nginx

现在你当你提交代码时就会触发webhook,从而执行构建部署