gogs+jenkins自动化部署

2024-02-02 04:30
文章标签 部署 自动化 gogs jenkins

本文主要是介绍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自动化部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/669472

相关文章

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

5 种使用Python自动化处理PDF的实用方法介绍

《5种使用Python自动化处理PDF的实用方法介绍》自动化处理PDF文件已成为减少重复工作、提升工作效率的重要手段,本文将介绍五种实用方法,从内置工具到专业库,帮助你在Python中实现PDF任务... 目录使用内置库(os、subprocess)调用外部工具使用 PyPDF2 进行基本 PDF 操作使用

C#自动化实现检测并删除PDF文件中的空白页面

《C#自动化实现检测并删除PDF文件中的空白页面》PDF文档在日常工作和生活中扮演着重要的角色,本文将深入探讨如何使用C#编程语言,结合强大的PDF处理库,自动化地检测并删除PDF文件中的空白页面,感... 目录理解PDF空白页的定义与挑战引入Spire.PDF for .NET库核心实现:检测并删除空白页

linux部署NFS和autofs自动挂载实现过程

《linux部署NFS和autofs自动挂载实现过程》文章介绍了NFS(网络文件系统)和Autofs的原理与配置,NFS通过RPC实现跨系统文件共享,需配置/etc/exports和nfs.conf,... 目录(一)NFS1. 什么是NFS2.NFS守护进程3.RPC服务4. 原理5. 部署5.1安装NF

Python实现自动化删除Word文档超链接的实用技巧

《Python实现自动化删除Word文档超链接的实用技巧》在日常工作中,我们经常需要处理各种Word文档,本文将深入探讨如何利用Python,特别是借助一个功能强大的库,高效移除Word文档中的超链接... 目录为什么需要移除Word文档超链接准备工作:环境搭建与库安装核心实现:使用python移除超链接的

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum