搭建一套自己的CI/CD流水线

本文详细介绍了如何在两台Linux服务器上搭建基于JDK1.8、GitLab、Git、Maven和Jenkins的CI/CD系统,实现项目的自动化构建和部署。首先在一台服务器上安装配置GitLab,然后在另一台服务器上安装JDK、Maven和Git,最后安装Jenkins并配置自动化构建流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

总述

程序员,开发、构建、部署项目总是避不开的,要是每次都折腾一回,也挺烦的。那懒人总得想点懒的解决方案吧。构建一套自己的CI/CD,实现一键部署似乎能省点事。这个是版本是基于 JDK1.8 + GitLab + Git + Maven + Jenkins实现的,其他版本尚未验证。

前期准备

2台Linux服务器(我这里是虚拟机),为了方便关闭防火墙

JDK 1.8 版本安装包

git.v2.35.8 安装包

apache-maven-3.9.3-bin.tar.gz 安装包

GItLab(不用准备,直接安装)

Jenkins

安装GItLab(选一台服务器ip:192.168.162.134,4G内存以上)

关闭防火墙

systemctl status firewalld.service

配置yum源

vim /etc/yum.repos.d/gitlab-ce.repo

编辑内容

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

更新本地yum缓存

yum makecache

安装gitlab社区版

yum -y install gitlab-ce 

配置GitLab

vim /etc/gitlab/gitlab.rb

修改 external_url 为自己的ip+port

external_url 'http://192.168.162.134:8090'

重载配置,重启服务,设置开机自启

gitlab-ctl reconfigure
gitlab-ctl restart
systemctl enable gitlab-runsvdir.service

启动时间有点长。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。大概。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。这么长。

访问http://192.168.162.134:8090

 

看见这个就算成功了。

登录修改密码

用户名 root

初始密码查看命令:cat /etc/gitlab/initial_root_password

 

修改后重新登录,至此GitLab安装配置完成,想改其他配置,自行百度解决。

===================================分界线==============================================

以下操作在第二台服务器(ip:192.168.162.135)上

安装JDK

创建/home/soft目录,存放JDK安装包,我的安装包是jdk-8u121-linux-x64.tar.gz

解压安装包

tar -zxvf /home/soft/jdk-8u121-linux-x64.tar.gz

解压后多出一个文件夹 jdk1.8.0_121

配置环境变量

vim /etc/profile

在文件末尾添加

export JAVA_HOME=/home/soft/jdk1.8.0_121
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

保存

重载配置

source /etc/profile

验证

java -version

看见版本号即为成功。

安装Maven

在/home/soft目录中上传 apache-maven-3.9.3-bin.tar.gz

解压

tar -zxvf /home/soft/apache-maven-3.9.3-bin.tar.gz

创建 maven 资源库目录

mkdir -p /m2/repository

编辑settings文件

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <localRepository>/m2/repository</localRepository>
  <pluginGroups>
​
  </pluginGroups>
​
  <proxies>
  </proxies>
​
  <servers>
 
  </servers>
          <mirror>
          <id>aliyunmaven</id>
          <mirrorOf>*</mirrorOf>
          <name>阿里云公共仓库</name>
          <url>https://maven.aliyun.com/repository/public</url>
        </mirror>
        <mirror>
          <id>aliyunmaven</id>
          <mirrorOf>*</mirrorOf>
          <name>阿里云公共仓库</name>
          <url>https://maven.aliyun.com/repository/spring</url>
        </mirror>
  </mirrors>
  <profiles>
    <profile>
        <id>nexus</id>
        <repositories>
            <repository>
                <id>central</id>
                <url>https://repo1.maven.org/maven2</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </repository>
        </repositories>
        <pluginRepositories>
            <pluginRepository>
                <id>central</id>
                <url>https://repo1.maven.org/maven2</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </pluginRepository>
        </pluginRepositories>
    </profile>
    <profile>
        <id>edas.oss.repo</id>
        <repositories>
            <repository>
                <id>edas-oss-central</id>
                <name>taobao mirror central</name>
                <url>http://edas-public.oss-cn-hangzhou.aliyuncs.com/repository</url>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
                <releases>
                    <enabled>true</enabled>
                </releases>
            </repository>
            </repositories>
        <pluginRepositories>
            <pluginRepository>
                <id>edas-oss-plugin-central</id>
                <url>http://edas-public.oss-cn-hangzhou.aliyuncs.com/repository</url>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
                <releases>
                    <enabled>true</enabled>
                </releases>
            </pluginRepository>
        </pluginRepositories>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>nexus</activeProfile>
    <activeProfile>edas.oss.repo</activeProfile>
  </activeProfiles>
</settings>
​

添加环境变量

vi /etc/profile

在文件末尾添加内容

MAVEN_HOME=/home/soft/apache-maven-3.9.3
PATH=$MAVEN_HOME/bin:$PATH
export MAVEN_HOME PATH

重载配置

source /etc/profile

验证

mvn -version

安装Git

卸载Git

yum remove git

进入 Github 中的 git 版本页面 ,或者在镜像站,自行选择版本下载

我用的是git.v2.35.8 ,同样上传到 /home/soft

解压

tar -zxvf /home/soft/git.v2.35.8

提前安装可能需要的依赖

yum -y install curl-devel expat-devel openssl-devel zlib-devel gcc-c++ 
yum -y install perl-ExtUtils-MakeMaker automake autoconf libtool make

进入到 git-2.35.8 目录,执行编译安装等命令

cd git-2.35.8
make configure
./configure --prefix=/home/soft/git
make profix=/home/soft/git
make install

配置环境变量

vim /etc/profile

在文件末尾添加

export GIT_HOME=/home/soft/git
export PATH=$PATH:$GIT_HOME/bin

保存,重新加载配置

source /etc/profile

验证

git --version

Jenkins安装

下载Jenkins

cd /home/soft
wget https://repo.huaweicloud.com/jenkins/redhat-stable/jenkins-2.346.3-1.1.noarch.rpm

安装

rpm -ivh jenkins-2.346.3-1.1.noarch.rpm

配置

修改Jenkins端口

vim /usr/lib/systemd/system/jenkins.service

修改如下

## 用户名 root权限
User=root
Group=root
##jdk 安装路径
Environment="JAVA_HOME=/home/soft/jdk1.8.0_121"
##端口
Environment="JENKINS_PORT=9090"

设置开机自启

systemctl enable jenkins

登录

访问 http://192.168.162.135:9090

查看初始化密码

cat /var/lib/jenkins/secrets/initialAdminPassword 

登录

选择安装推荐的插件.......等待新手入门执行完毕

 

完成之后根据提示创建管理员账号密码。

配置Jenkins

 

 

 

应用并保存 

安装插件

 

重启Jenkins

新建项目

 

 

 

 指定要构建的代码分支

添加控制台输出

 

保存之后点击构建

 

start.sh脚本

#!/bin/bash
BUILD_ID=dontKillMe
java -jar /var/lib/jenkins/workspace/test/target/jar包名称.jar &

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值