Jenkins-Gitlab 前端项目自动化部署

1. 机器准备

|---------|------------|
| 开发 | 10.0.0.204 |
| gitlab | 10.0.0.201 |
| jenkins | 10.0.0.200 |
| web | 10.0.0.202 |

2. 开发主机配置

创建密钥对,将公钥添加到gitlab账号的ssh密钥中

root@dev \~#ssh-keygen

root@dev \~#cat /root/.ssh/id_rsa.pub

复制远程仓库的内容到本地

root@dev \~#git clone git@gitlab.lly.org:devops/wheel.git
dns 指向201主机

root@dev \~#vim /etc/netplan/01-netcfg.yaml

......

nameservers:

addresses: 10.0.0.201

3. gitlab 主机配置

配置dns解析

root@gitlab \~#apt update && apt install -y bind9 bind9-utils bind9-host bind9-dnsutils

root@gitlab \~#vim /etc/bind/named.conf.default-zones

......

zone "lly.org" IN {

type master;

file "/etc/bind/lly.org.zone";

};

root@gitlab \~#vim /etc/bind/lly.org.zone

$TTL 1D

@ IN SOA master admin (

1 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

NS master

master A 10.0.0.201

gitlab A 10.0.0.201

root@gitlab \~#chgrp bind /etc/bind/lly.org.zone

root@gitlab \~#systemctl enable named

root@gitlab \~#systemctl restart named

4. jenkins 主机配置

dns 指向201主机

root@jenkins \~#vim /etc/netplan/01-netcfg.yaml

......

nameservers:

addresses: 10.0.0.201
安装 jenkins 和 jdk

root@jenkins \~#apt update && apt -y install openjdk-17-jdk

root@jenkins \~#ls

jenkins_2.479.1_all.deb

root@jenkins \~#dpkg -i jenkins_2.479.1_all.deb

root@jenkins \~#systemctl status jenkins.service
创建脚本将前端文件并赋予权限

root@jenkins \~#mkdir -p /data/jenkins/scripts

root@jenkins \~#vim /data/jenkins/scripts/test.sh

HOST_LIST="

10.0.0.202"

for host in $HOST_LIST;do

scp -r * root@$host:/var/www/html/

done

root@jenkins \~#chmod +x /data/jenkins/scripts/test.sh
在 jenkins 工具上创建全局凭据(凭据中添加的私钥和gitlab上添加公钥成对即可)

root@jenkins \~#su jenkins

jenkins@jenkins:~/.ssh$ cat /root/.ssh/id_rsa

将查询到的私钥添加到下面private key 中


jenkins@jenkins:~/.ssh$ cat id_rsa.pub

将查询到的公钥添加到对应gitlab账户的ssh密钥中


在jenkins工具上创建任务

5. web 服务器配置

dns 指向201主机

root@web \~#vim /etc/netplan/01-netcfg.yaml

......

nameservers:

addresses: 10.0.0.201
安装 nignx 服务

root@web \~#apt update && apt install nginx -y

6. 验证是否实现自动化部署

在开发主机上修改代码并上传到远程仓库

root@dev wheel#vim index.html

root@dev wheel#git commit -am "change"

root@dev wheel#git push --all

随后用 web 服务器 ip 在浏览器中验证是否显示修改后的页面

相关推荐
大树8811 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠11 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush412 小时前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行52012 小时前
Linux 11 动态监控指令top
linux
小宇宙Zz12 小时前
Maven依赖冲突
java·服务器·maven
不会C语言的男孩13 小时前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
古城小栈14 小时前
Unix 与 Linux 异同小叙
linux·服务器·unix
程序猿阿伟14 小时前
《Chrome离线扩展安装的底层逻辑与场景落地指南》
服务器·网络·chrome
noravinsc15 小时前
关于Git Flow
git
凡人叶枫15 小时前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++