本文主要是介绍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 - CommunityVersion: 20.10.14API version: 1.41Go version: go1.16.15Git commit: a224086Built: Thu Mar 24 01:49:57 2022OS/Arch: linux/amd64Context: defaultExperimental: trueServer: Docker Engine - CommunityEngine:Version: 20.10.14API version: 1.41 (minimum version 1.12)Go version: go1.16.15Git commit: 87a90dcBuilt: Thu Mar 24 01:48:24 2022OS/Arch: linux/amd64Experimental: falsecontainerd:Version: 1.5.11GitCommit: 3df54a852345ae127d1fa3092b95168e4a88e2f8runc:Version: 1.0.3GitCommit: v1.0.3-0-gf46b6baVersion: 0.19.0GitCommit: de40ad0docker-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.
安装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
<url>https://updates.jenkins.io/update-center.json</url>
改为:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
浏览器进入jenkins ,
输入钥匙安装默认插件
选择左侧推荐插件安装,需要等一段时间
服务器准备环境
准备ava8、node 14版、maven环境。装完之后jenkins需要重启一下
maven配置阿里云镜像
<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共镜像源</name><url>https://maven.aliyun.com/repository/public</url>
</mirror>
npm 安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
安装完插件继续jenkins
新建一个job
选择freeStyle…
配置选项
git地址url:
配置git账号密码
配置完保存,启动一下看看代码拉下来了没有
拉下来后打包,选择构Execute shell 写两个命令
测试一下,打包失败了,重启jenkins打包成功!
可以自己写脚本放到nginx里面
vue_path="/usr/local/nginx"
#判断文件存在,判断是否为文件夹等
if [[ ! -d "$vue_path" ]];
thenecho "文件夹不存在"
elseecho "删除原文件dist文件,部署新文件"rm -rf $vue_path/dist
fi
mv dist $vue_path/
配置jenkins的执行脚本
前端的自动部署实现了!
git代码提交触发自动化部署
安装触发插件webhook,安装完重启
配置webhook
这里填一个tooken,
git里面创建webhooks
你的ip和自己设置的token
配置完成后可以在线测试
这篇关于gogs+jenkins自动化部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!