“从零到一:使用GitLab和Jenkins实现自动化CI/CD流水线”

GitLab仓库

简单的来说就是开发人员提交代码的仓库,用于团队开发,GitLab 上托管的仓库通常作为远程仓库使用,开发人员可以将本地的 Git 仓库推送到

GitLab 上,也可以从 GitLab 克隆仓库到本地进行开发。

Jenkins

Jenkins 是一个开源的自动化服务器,广泛用于持续集成(Continuous Integration,

CI)和持续交付(Continuous Delivery,

CD)流程中。它帮助开发者自动化软件开发周期中的不同阶段,如构建、测试和部署应用程序。通过

Jenkins,团队可以更快地发现并解决代码中的问题,提高软件的质量和效率。

部署环境介绍:

Centos 8.2

gitlab-ce-18.1.5-ce.0.el8.x86_64

jenkins-2.512

一、部署GitLab

下载地址:https://packages.gitlab.com/gitlab/gitlab-ce/packages/ol/8/gitlab-ce-18.1.5-ce.0.el8.x86_64.rpm

bash 复制代码
#安装git
yum -y install git

#安装gitlab
wget https://packages.gitlab.com/gitlab/gitlab-ce/packages/ol/8/gitlab-ce-18.1.5-ce.0.el8.x86_64.rpm/download.rpm
yum -y install download.rpm 

##修改配置文件 external_url
vim /etc/gitlab/gitlab.rb
external_url 'http://172.16.33.100'

#加载配置文件
gitlab-ctl reconfigure
最后看到gitlab Reconfigured!代表配置成功

#启动GitLab
gitlab-ctl start
ok: run: alertmanager: (pid 6878) 124s
ok: run: gitaly: (pid 6831) 128s
ok: run: gitlab-exporter: (pid 6847) 127s
ok: run: gitlab-kas: (pid 6247) 301s
ok: run: gitlab-workhorse: (pid 6800) 129s
ok: run: logrotate: (pid 5954) 336s
ok: run: nginx: (pid 6819) 128s
ok: run: node-exporter: (pid 6840) 128s
ok: run: postgres-exporter: (pid 6890) 123s
ok: run: postgresql: (pid 6082) 307s
ok: run: prometheus: (pid 6859) 126s
ok: run: puma: (pid 6313) 209s
ok: run: redis: (pid 5989) 330s
ok: run: redis-exporter: (pid 6850) 126s
ok: run: sidekiq: (pid 6330) 203s

#查看状态
gitlab-ctl status

#默认账户 root 密码去配置文件找
cat /etc/gitlab/initial_root_password |grep Password
#          2. Password hasn't been changed manually, either via UI or via command line.
Password: BsYT7SMWB8l7u9saBsvFsWmS4cnL9bH8fXcmW0R8Q7A=

可以登录图形化界面修改为中文并修改密码

http://172.16.33.100/

新建项目

二、部署Jenkins

1、安装JDK17

bash 复制代码
wget https://download.oracle.com/java/17/archive/jdk-17.0.12_linux-x64_bin.tar.gz
mkdir /usr/java
tar -xf jdk-17.0.12_linux-x64_bin.tar.gz 
mv jdk-17.0.12 /usr/java

#配置环境变量
vim /etc/profile 
export JAVA_HOME=/usr/java/jdk-17.0.12
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

source /etc/profile
java --version
java 17.0.12 2024-07-16 LTS
Java(TM) SE Runtime Environment (build 17.0.12+8-LTS-286)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.12+8-LTS-286, mixed mode, sharing)

2、安装jenkins

bash 复制代码
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.512-1.1.noarch.rpm
yum install -y jenkins-2.512-1.1.noarch.rpm -y

#安装字体包,否则会报错Fontconfig head is null
yum install -y fontconfig dejavu-sans-fonts
fc-cache -f -v

#在启动配置文件配置jdk地址,上面gitlab已使用8080端口,jenkins更改为8081
vim /usr/lib/systemd/system/jenkins.service 
Environment="JAVA_HOME=/usr/java/jdk-17.0.12"
Environment="PATH$JAVA_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
Environment="JENKINS_PORT=8081"

#启动
systemctl start jenkins
#开机自启
systemctl enable jenkins

#cat /var/lib/jenkins/secrets/initialAdminPassword
92422d179ede45f1a47398fedf99b444

浏览器访问http://172.16.33.100:8081/






至此,Jenkins安装完成!

三、Jenkins操作

相关推荐
struggle20251 小时前
Lightpanda:专为 AI 和自动化设计的无头浏览器
运维·人工智能·自动化
东窗西篱梦2 小时前
Ansible自动化运维:从入门到实战,告别重复劳动!
运维·自动化·ansible
恒雨田4 小时前
Jenkins安装并与GitLab集成,实现dev、qa、uat、prod多分支持续集成的详细步骤
ci/cd·gitlab·jenkins
꧁༺摩༒西༻꧂4 小时前
Windows Server 2022离线搭建Gitlab
gitlab
鱼鱼说测试14 小时前
Selenium+python自动化1-环境搭建
python·selenium·自动化
llm20090914 小时前
UI自动化框架之Selenium八大元素定位(二)
selenium·ui·自动化
zzywxc78714 小时前
AI 开发工具全景指南:从编码辅助到模型部署的全流程实践
大数据·人工智能·低代码·机器学习·golang·自动化·ai编程
熙客15 小时前
GitLab:代码管理
gitlab
Brian Xia15 小时前
Social-Auto-Upload - 多平台社交媒体视频自动化上传工具
自动化·音视频·媒体
gb421528716 小时前
Elasticsearch 搭建(亲测)
大数据·elasticsearch·jenkins