使用Gitea和Jenkins实现代码管理和自动化部署

一、前言

许多个人开发者或者小型公司会有小型的代码管理和自动化部署的需求(大型公司有自己的成熟体系,咱也不敢随意揣摩),今天给大家带来一套代码管理和自动化部署体系的搭建教程,希望能对大家有所帮助。此教程操作系统使用的是Centos7.9,使用yum包管理工具。

二、Git安装

1.gitea需要安装git2.0以上,查看git版本

git --version

2.如果版本低于2.0,先卸载git

yum -y remove git

3.安装高版本git

wget http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-1.noarch.rpm  
rpm -ivh wandisco-git-release-7-1.noarch.rpm
yum install git -y

4.查看git版本

git --version

三、MySQL安装

安装Gitea前需要拥有一个数据库进行数据的存储,此处选择使用免费且使用广泛的MySQL。

1.首先下载MySQL的yum源配置

wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

2.安装MySQL的yum源

yum -y install mysql57-community-release-el7-11.noarch.rpm

3.yum方式安装MySQL

yum -y install mysql-server --nogpgcheck

4.启动MySQL

systemctl start mysqld.service
systemctl status mysqld.service

5.命令行进入mysql

cat /var/log/mysqld.log | grep password

控制台将会打印出临时密码

image-20221111140703383

6.使用临时密码进入命令行

mysql -uroot -p

7.修改密码(密码根据需要修改)

ALTER USER USER() IDENTIFIED BY '123456Admin@123';

8.给其他机器授权能够访问mysql

grant all privileges on *.* to 'root'@'%' identified by '123456Admin@123' with grant option;

flush privileges;

9.Ctrl + D退出MySQL命令行

10.开放防火墙3306端口限制

firewall-cmd --zone=public --list-ports
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

11.使用数据库连接工具,连接成功

image-20221111141528108

12.创建一个名为gitea的数据库为下一步做准备,字符集为utf8mb4。

四、Gitea安装

Gitea是一个轻量级代码托管解决方案,相比于Gitlab它会少一些功能,但是所占用的内存会小很多,且Git仓库的基本功能基本都有,对于账号少的代码管理非常实用,有兴趣可以去它们官网查看详细文档。

下面是安装过程:

此次使用二进制包进行直接安装,请使用非root用户执行安装操作。

1.下载安装程序并启动

#下载二进制包
wget -O gitea https://dl.gitea.io/gitea/1.17.3/gitea-1.17.3-linux-amd64
#给安装包赋予权限
chmod +x gitea
#执行安装程序
./gitea web

当看见打印 Starting new Web server: tcp:0.0.0.0:3000时说明安装程序已正常启动。

2.开放防火墙3000

firewall-cmd --zone=public --list-ports
firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --reload

3.用浏览器打开服务器的3000端口进行下一步安装操作

image-20221111142311599

4.初始配置

使用上面安装的MySQL账密进行配置,建议在MySQL新开一个用户用于Gitea操作不要使用root用户。

image-20221111144826759

5.一般配置

配置站点名称、系统用户、端口等数据,特别提醒,所提供的系统用户需要有对仓库根目录的访问权限。在服务器域名栏输入服务器IP地址或者域名。

image-20221111145153439

6.可选配置

可在此处配置邮件服务、三方服务、管理员账号等配置,这个根据需要自行选择。不设置管理员账号情况下,第一个注册的用户自动成为管理员。

image-20221111145446249

7.点击立即安装,等待安装完成。刷新后出现如下页面表示安装完成。

image-20221111152544585

8.创建服务使用systemctl管理gitea

vi /usr/lib/systemd/system/gitea.service

写入

[Unit]
Description=gitea

[Service]
User=root
ExecStart=/usr/local/gitea/gitea
Restart=on-abort

[Install]
WantedBy=multi-user.target

文件路径和启用用户根据需要修改。后面就可以通过以下命令管理gitea了。(第一次使用需要先将之前手动启用的gitea手动结束)

systemctl start gitea
systemctl stop gitea
systemctl status gitea

五、Jenkins安装

1.使用yum安装jenkins

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum -y install jenkins

2.启动jenkins,如果启动报错大概率是jdk版本问题,可以尝试安装新版本jdk

systemctl restart jenkins.service

3.开放8080端口,jenkins默认运行在8080端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

4.打开浏览器,进入服务器的8080端口,出现如下页面表示安装成功

image-20221111171004120

5.解锁Jenkins

根据页面提示,在指定文件中读出初始密码,输入到输入框内,点击继续解锁Jenkins

6.安装插件,新手建议直接安装推荐插件。

7.设置管理员账号

image-20221111172719266

8.进入这个页面表示Jenkins启动正常。

image-20221111174924983

六、Gitea和Jenkins配合实现自动化部署

以下为演示自动化部署的案例,其中类似nginx和node等环境均不是必须环境,需要根据需求更换。

1.在gitea创建一个仓库

image-20221111175601495

2.在本地创建一个Vue项目(代码具体内容根据需要修改)

vue create test-jenkins

3.将Vue项目与gitea仓库关联

cd .\test-jenkins\
git init
git add .
git commit -m "init"
git remote add origin http://192.168.0.192:3000/root/test-jenkins.git
git push -u origin main

4.在jenkins新建一个Freestyle项目

image-20221112090737327

5.填写git地址和用户名密码

image-20221112090914635

6.在构建步骤中选择execute shell,并输入以下内容,点击保存

npm i --registry https://registry.npm.taobao.org
npm run build
rm -rf /usr/share/nginx/html/test-jenkins/*
cp -r dist/* /usr/share/nginx/html/test-jenkins/
nginx -s reload

7.在/usr/share/nginx/html/下新建一个test-jenkins文件夹

cd /usr/share/nginx/html/
mkdir test-jenkins

8.配置nginx

vim /etc/nginx/conf.d/default.conf

在location /段落下增加以下内容

    location /test-jenkins {
        root  /usr/share/nginx/html;
        index index.html index.htm;
    }

9.点击Jenkins上的立即构建,等待构建成功

image-20221112114533807

10.打开网页输入对应网站,发现构建成功。至此,一键点击部署项目的功能已经完成,以下为git提交自动部署步骤。

image-20221112114604189

11.安装Generic Webhook Trigger插件,等待重启。

image-20221116141328569

image-20221116141450722

12.在项目配置中,选择构建触发器,选择Generic Webhook Trigger,在token栏输入自定义token,点击保存。

image-20221116153022332

image-20221116153323847

13.在gitea中添加webhook的白名单,路径为/home/安装用户/gitea/custom/conf/app.ini

在[webhook]栏中增加ALLOWED_HOST_LIST = *,如果没有webhook栏则新增。

添加后保存并重启gitea。

[webhook]
ALLOWED_HOST_LIST = *

14.进入Gitea的仓库设置

image-20221116153456916

15.点击web钩子,点击添加web钩子,选择gitea

image-20221116153545823

16.在地址栏输入jenkins设置中的地址,例如 http://192.168.0.192:8080/generic-webhook-trigger/invoke?token=test其中ip地址和token内容需要自行更换。点击添加钩子。

image-20221118093045088

17.回到编辑页,点击测试推送,等待一段时间后看到左侧为绿色后即配置正常,打开jenkins看到已经开始部署。之后git仓库被提交时将会主动发送webhook给jenkins,jenkins将会自动进行项目的部署。

image-20221118093324920

image-20221118093358231

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: Jenkins是一款流行的自动化构建工具,可以用来自动部署Gitee项目。以下是大致的步骤: 1. 在Jenkins中安装Gitee插件,以便能够连接到Gitee仓库。 2. 在Jenkins中创建一个新的构建任务,选择“自由风格项目”。 3. 在构建任务的配置中,选择“源码管理”,然后选择Gitee作为源代码管理工具。输入Gitee仓库的URL和凭据信息。 4. 在构建任务的配置中,选择“构建触发器”,然后选择“轮询SCM”。这将使Jenkins定期检查Gitee仓库是否有新的提交。 5. 在构建任务的配置中,选择“构建环境”,然后选择“执行shell脚本”。在脚本中输入需要执行的命令,例如编译、打包、部署等。 6. 保存并运行构建任务。Jenkins将自动从Gitee仓库拉取最新的代码,并执行指定的命令。 需要注意的是,以上步骤仅为大致流程,具体操作可能会因环境和需求而有所不同。建议在实际操作中参考Jenkins和Gitee的官方文档,以确保正确性和安全性。 ### 回答2: Jenkins是一款开源的持续集成工具,具有很好的自动化部署功能。Gitee是国内一款非常流行的代码托管平台,许多开发者使用Gitee托管自己的代码管理项目。本文将介绍如何使用Jenkins实现自动部署Gitee项目。 一、准备工作 1、安装Jenkins服务器; 2、安装Gitee插件; 3、在Gitee上创建一个代码仓库; 4、在Gitee上生成一个SSH公钥,并将其添加到Jenkins系统中。 二、创建Jenkins任务 1、登录Jenkins服务器; 2、点击“新建任务”,选择“构建一个自由风格的软件项目”; 3、输入任务名称; 4、填写代码仓库的SSH地址; 5、选择版本库的分支或标签; 6、填写用户认证信息(包括Gitee的用户名和私钥); 7、选择“Execute shell”或“Execute Windows batch command”以指定构建或部署脚本; 8、保存并离开。 三、构建Jenkins任务 1、点击任务名称; 2、点击“构建触发器”,选择“Build when a change is pushed to Gitee”; 3、点击“保存”并离开。 四、更新代码并触发构建 1、在Gitee上更新代码,推送到分支或标签; 2、等待Jenkins自动触发构建并部署代码。 总结来说,Jenkins自动部署Gitee项目的实现步骤主要是在Gitee上创建代码仓库并生成SSH密钥,然后在Jenkins上创建一个任务并配置任务的构建和部署脚本,最后在Gitee上更新代码并触发构建即可实现自动化部署Jenkins自动化部署功能极大地提升了代码管理和项目部署效率,许多开发者在实际开发中也会应用到这个功能。 ### 回答3: Jenkins是一种自动化部署工具,它可以帮助我们快速、自动化部署我们的代码。Gitee则是国内一个非常流行的代码托管平台,许多团队都选择在Gitee上进行项目管理代码托管和协作开发。 在使用Jenkins自动部署Gitee项目之前,需要确保一些基础设施已经准备好。首先,你需要一台可以运行Jenkins的服务器。其次,你需要一个Gitee账户,以便可以在Gitee上创建和管理你的项目。最后,你需要一个可用的代码仓库,其中包含需要自动部署代码。 安装Jenkins 在开始之前,你需要先安装Jenkins。你可以从Jenkins官方网站下载并安装Jenkins。按照官方文档的步骤进行安装即可。 创建Gitee项目 在你的Gitee账户上创建一个新的项目。在创建项目过程中,你需要选择Git仓库初始化方式、默认分支等等。确保在项目创建过程中勾选Git公钥。 设置Jenkins环境 安装好Jenkins之后,你需要设置Jenkins的环境,以便可以自动部署Gitee项目。你可以使用Jenkins插件来配置Jenkins环境。 安装插件 首先,你需要安装一些插件。这些插件可以帮助你完成自动化部署的各个步骤。你可以在Jenkins的Plugin Manager中搜索并安装这些插件。 配置插件 安装好插件之后,你需要按照各个插件的要求进行设置。这些设置包括项目名称、版本号、构建环境等等。 设置Git 接下来,你需要在Jenkins中配置Git。你需要提供Git仓库的URL、认证信息、分支等等。 配置构建脚本 在Jenkins中配置构建脚本。构建脚本用于编译代码、运行测试等等。你可以使用各种构建脚本语言,例如Bash、Python等等。 设置自动化部署 最后,你需要在Jenkins中设置自动化部署。你需要提供目标服务器的IP地址、认证信息、目标路径等等。在完成这些设置后,Jenkins就可以开始自动化部署Gitee项目了。 总结 使用Jenkins自动部署Gitee项目可以大大简化了开发流程,提高了团队的生产力和敏捷性。在上面的步骤中,你学习了如何安装Jenkins、创建Gitee项目、配置Jenkins环境、设置Git、配置构建脚本以及设置自动化部署。希望这些步骤能够帮助你快速上手使用Jenkins自动部署Gitee项目。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值