gogs+jenkins自动化部署

环境centos7版本虚拟机

docker安装

1.安装环境

1. yum install -y yum-utils device-mapper-persistent-data lvm2 
yum-utils //工具包集合 简化安装过程配置过程
device-mapper-persistent lvm2 docker数据存储驱动

2.设置国内阿里云安装源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3.yum 检测最快数据源

yum makecache fast

4.docker 安装

yum install -y docker-ce //安装docker   -ce是开源社区版本

5.启动docker 服务

service docker start

6.查看docker版本

docker version

//docker 版本  docker属于cs架构 一个客户端 一个服务端 Client客户端  Server 服务端
Client: Docker Engine - Community
 Version:           20.10.14
 API version:       1.41
 Go version:        go1.16.15
 Git commit:        a224086
 Built:             Thu Mar 24 01:49:57 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.14
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.15
  Git commit:       87a90dc
  Built:            Thu Mar 24 01:48:24 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.5.11
  GitCommit:        3df54a852345ae127d1fa3092b95168e4a88e2f8
 runc:
  Version:          1.0.3
  GitCommit:        v1.0.3-0-gf46b6ba
  Version:          0.19.0
  GitCommit:        de40ad0
   docker-init:

7.设置腾讯云镜像加速

vim /lib/systemd/system/docker.service 
修改:ExecStart=/usr/bin/dockerd -H fd:// --registry-mirror=https://mirror.ccs.tencentyun.com 
然后重新启动docker  
systemctl daemon-reload
service docker restart
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd:// --registry-mirror=https://mirror.ccs.tencentyun.com   # 改为这个值
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
docker -info 查看镜像配置成功 
Registry Mirrors:
  https://mirror.ccs.tencentyun.com/

docker安装代码仓库gogs

Pull image from Docker Hub.

docker pull gogs/gogs

Create local directory for volume.

mkdir -p /var/gogs

Use docker run for the first time.

docker run --name=gogs -p 10022:22 -p 8081:3000 -v /var/gogs:/data gogs/gogs

如果control + c结束了需要重新启动docker.

docker start gogs

初始化页面

配置数据库,我用的是mysql5.7.
gogs+jenkins自动化部署_第1张图片

安装jenkins

这里不用docker安装,docker安装后期操作权限问题。

下载jenkins最新war包

官网 https://www.jenkins.io/zh/download/ 下载地址 http://mirrors.jenkins.io/war-stable/2.332.2/jenkins.war
选择.war的下载

启动jenkins

java -jar jenkins.war --httpPort=8080
后台启动命令:nohup java -jar jenkins.war --httpPort=8080&

启动注意日志输出密码

默认初始化目录 /root/.jenkins
查看初始登录秘钥:cat /root/.jenkins/secrets/initialAdminPassword

修改镜像源为清华源

hudson.model.UpdateCenter.xml
gogs+jenkins自动化部署_第2张图片

https://updates.jenkins.io/update-center.json
改为:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

浏览器进入jenkins ,

gogs+jenkins自动化部署_第3张图片
输入钥匙安装默认插件
gogs+jenkins自动化部署_第4张图片

选择左侧推荐插件安装,需要等一段时间
gogs+jenkins自动化部署_第5张图片

服务器准备环境

准备ava8、node 14版、maven环境。装完之后jenkins需要重启一下
maven配置阿里云镜像


  aliyunmaven
  *
  阿里云公共镜像源
  https://maven.aliyun.com/repository/public

npm 安装cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

安装完插件继续jenkins

gogs+jenkins自动化部署_第6张图片

新建一个job

gogs+jenkins自动化部署_第7张图片

选择freeStyle…

gogs+jenkins自动化部署_第8张图片

配置选项

gogs+jenkins自动化部署_第9张图片

git地址url:

gogs+jenkins自动化部署_第10张图片

配置git账号密码

gogs+jenkins自动化部署_第11张图片
配置完保存,启动一下看看代码拉下来了没有
gogs+jenkins自动化部署_第12张图片

拉下来后打包,选择构Execute shell 写两个命令

gogs+jenkins自动化部署_第13张图片
gogs+jenkins自动化部署_第14张图片
测试一下,打包失败了,重启jenkins打包成功!
gogs+jenkins自动化部署_第15张图片

可以自己写脚本放到nginx里面

vue_path="/usr/local/nginx"
#判断文件存在,判断是否为文件夹等
if [[ ! -d "$vue_path" ]];
then
  echo "文件夹不存在"
else
  echo "删除原文件dist文件,部署新文件"
  rm -rf $vue_path/dist
fi
mv dist $vue_path/

gogs+jenkins自动化部署_第16张图片

配置jenkins的执行脚本

gogs+jenkins自动化部署_第17张图片

前端的自动部署实现了!

git代码提交触发自动化部署

安装触发插件webhook,安装完重启

gogs+jenkins自动化部署_第18张图片

配置webhook

gogs+jenkins自动化部署_第19张图片
这里填一个tooken,

git里面创建webhooks

gogs+jenkins自动化部署_第20张图片
你的ip和自己设置的token
gogs+jenkins自动化部署_第21张图片
配置完成后可以在线测试

你可能感兴趣的:(devOps,docker,jenkins,devops)