jenkins + gitea 自动化部署Docker项目(vue + .NET Core)

废话不多说,服务先安装好Jenkins 和 gitea 理论上 gitlab 一样的实现流程

Jenkins 配置:

第一步装插件

安装 Generic Event

安装 gitea 相关插件

创建一个任务

设置 git

根据自己git 的认证填写对应的认证方式

构建环境记得勾选这个,会清理上次构建的文件,不勾选的话后面会越来越多

设置构建shell

填写构建docker的shell脚本()

bash 复制代码
#!/bin/sh
cd /var/lib/jenkins/workspace/docker_demo/DockerDemo
docker container prune << EOF
y
EOF
docker container ls -a | grep "docker_demo"
if [ $? -eq 0 ];then
    docker container stop docker_demo
    docker container rm docker_demo
fi
docker image prune << EOF
y
EOF
docker build -t docker_demo .
docker run -d -p 5000:80 --name=docker_demo docker_demo 

解释一下这个shell 指令,一般只需要将指令中的 docker_demo 改成自己的项目名就行

设置构建触发器

记住这个地址 http://JENKINS_URL/generic-webhook-trigger/invoke把其中的 JENKINS_URL 改为你的Jenkins的地址

Gitea配置:

进入自己的仓库地址 点击设置

添加钩子

选择Gitea

填写上面Jenkins 记住的地址,触发条件按需设置

勾选激活 然后点击测试推送,正常情况下 Jenkins就会开始构建

但是总会有意外,比如返回这个

这里注意两个东西,一个是你如果Jenkins 和 gitea 都是在一台服器 用 docker 安装的 这个 http://JENKINS_URL/generic-webhook-trigger/invoke 中的 JENKINS_URL改成容器IP

第二就是,gitea 默认是没有添加 webhooks 的服务地址的,需要修改 giea挂载目录 /data/gitea/conf/app.ini 配置文件,确保存在如下配置没有则添加

[webhook]
ALLOWED_HOST_LIST = 你的Jenkins Ip

修改好后重新更新 web钩子就行在测试一下。到这基本上就完成了,如果需要构建.NET Core或者 vue 项目则需要在Jenkins安装相应的插件,如果在创建.NET Core 项目有添加 Dockerfire文件 就不用装.NET 这个插件了。直接Docker完事

相关推荐
DexterLien10 分钟前
Debian 12 安装配置 fail2ban 保护 SSH 访问
运维·debian·ssh·fail2ban
娶不到胡一菲的汪大东38 分钟前
Shell脚本
linux·运维·ubuntu
xserver21 小时前
ensp 基于静态NAT发布公司网站服务器,
运维·服务器
QYpiying1 小时前
服务器中了挖矿病毒-应急响应
运维·服务器
上海运维Q先生1 小时前
面试题整理14----kube-proxy有什么作用
运维·面试·kubernetes
RealName-Wang1 小时前
联想 P368-C3 thinkstation服务器介绍
运维·服务器
安科瑞刘鸿鹏2 小时前
老旧小区用电安全保护装置#限流式防火保护器参数介绍#
运维·服务器·物联网·能源
ladymorgana2 小时前
【运维笔记】windows 11 中提示:无法成功完成操作,因为文件包含病毒或潜在的垃圾软件。
运维·windows·笔记
Rain_Rong2 小时前
linux检测硬盘
linux·运维·服务器
李昊哲小课3 小时前
deepin 安装 zookeeper
大数据·运维·zookeeper·debian·hbase