jenkins搭建及流水线配置

1.安装docker

复制代码
curl https://mirrors.aliyun.com/repo/Centos-7.repo >> CentOS-Base-Aliyun.repo

mv CentOS-Base-Aliyun.repo /etc/yum.repos.d/

yum -y install yum-utils device-mapper-persistent-data lvm2

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo


yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum clean 

yum makecache fast

yum -y install docker-ce

systemctl start docker

在这台机器上也需要修改/usr/lib/systemd/system/docker.service

这个是harbor的ip+端口

配置完成后

重启docker

复制代码
root@localhost]# systemctl daemon-reload
[root@localhost]# systemctl restart docker

2.安装maven

复制代码
在官网上下载一个maven上传到服务器上
https://maven.apache.org/download.cgi
下载完毕后解压
tar zxvf apache-maven-3.9.9-bin.tar.gz
解压完毕后移动
mv apache-maven-3.9.0 /usr/local/maven
3.下载git
yum install -y git

4.安装jdk11

首先下载对于的jdk

然后进行解压

配置jdk环境变量

复制代码
vi /etc/profile

JAVA_HOME=/usr/local/jdk-11.0.24
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH PATH

执行source  /etc/profile生效配置

5.安装jenkins

复制代码
 docker run -d --name jenkins6 --restart always \
--user root -p 10204:8080 -p 50000:50000 \
-v /data2/devOps/jenkins/data:/var/jenkins_home \
-v /usr/local/maven:/usr/local/maven \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(which docker):/usr/bin/docker \
-v /usr/local/jdk-11.0.24:/usr/local/jdk-11.0.24 \
jenkins/jenkins

进入后使用docker logs jenkins查看初始密码

然后选择推荐的插件

首先进入jenkins之后需要现在"Maven"、"GitLab"、"Jdk"、"SSH"、"Git"的相关插件

6.登录上jenkins配置截图:

6.1系统管理-全局工具配置

配置具体工具

Maven配置:

这里的路径都是jenkins镜像启动时配置的映射路径的地址

jdk安装:

这里的路径都是jenkins镜像启动时配置的映射路径的地址

配置git

配置maven

这里的路径都是jenkins镜像启动时配置的映射路径的地址

配置完成后点击应用和保存

6.2 配置系统配置

配置ssh

这个是jenkins服务器的ip和端口 需要添加的是服务器的登录用户名和密码

点击添加即可添加

部分可参考

参考文章连接:
https://blog.csdn.net/weixin_44100795/article/details/140373925

配置gitlab

这里需要的是gitlab的token具体方法参考
https://blog.csdn.net/weixin_40918067/article/details/116894558

配置

系统配置

Jenkins连接gitlab需要配置access token,所以先在gitlab上生成access token,后将该token配置在Jenkins上。(access token只需配置一次,后续每个工程直接使用即可)

. 获取连接token

1)登陆gitlab,在用户头像下拉图标,选择"Setting"

点击"Create personal access token",生成access token,记录下来。

然后再jenkins中添加此凭证用于系统管理-系统配置


然后点击应用和保存

7.构建项目

点击新建任务

选择新建maven项目

配置源码管理

这里配置的路径是git项目的路径,认证是git的登录用户名和密码,没有配置的话可以点击添加配置一个。

指定分支是指定对那个分支进行触发可以配置多个。

然后点击报错

点击立即构建可进行打镜像

用虚拟机的话需要配置一下桥接模式,这样别人就能访问了。

以上是手动构建镜像。

下面是结合上面的配置增加的自动提交代码后触发流水线的操作。

如果想要自动一提交git就会触发那就看下面的步骤:、

以管理员身份登录Gitlab,进入adminarea(首页顶层一行有个小扳手图标)点击进入,接着左侧菜单栏---->settings(设置)下一级---->network(网络)---->outbound requests expend(外发请求)前面打勾(□ Allow requests to the local network from web hooks and services-允许Webhook和服务对本地网络的请求)即可

点击进入git里面的项目

点击下面的操作

创建一个webhooks配置

URL和token取的就是下面红框中的url和token


Java服务相关代码配置如下:

首先编写一个dockerfile文件

复制代码
FROM openjdk:8-jdk

# 设置工作目录
WORKDIR /app

# 将 JAR 文件从本地目录复制到容器的工作目录
COPY target/jenkins-images-jar.jar /app/jenkins-images-jar.jar

# 运行 JAR 文件
ENTRYPOINT ["java", "-jar", "/app/jenkins-images-jar.jar"]

pom.xm配置如下:

复制代码
<build>
    <!--这里指定 package 的 jar 包名称-->
    <finalName>jenkins-images-jar</finalName>
    <plugins>
      <!-- 这里是创建项目时就带上的 SpringBoot 插件 -->
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>

      <!-- Dockerfile maven plugin -->
      <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>dockerfile-maven-plugin</artifactId>
        <version>1.4.10</version>
        <!--将插件绑定在某个phase执行-->
        <!-- 镜像构建完毕之后自动推送到仓库 -->
        <executions>
          <execution>
            <id>default</id>
            <phase>package</phase>
            <goals>
              <goal>build</goal>
              <goal>push</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <username>xiaozeng</username>    <!--   docker私有仓库用户名,已登录则不需要 -->
          <password>aaaaaaaa</password>    <!--   docker私有仓库密码,已登录则不需要   -->
          <repository>192.168.1.129:9001/abcd/${project.build.finalName}</repository>
          <tag>${project.version}</tag>
          <buildArgs>
            <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
          </buildArgs>
        </configuration>

      </plugin>
    </plugins>
  </build>

其他的pom配置就是自己配置就好,这里最主要的是dockerfile和pom需要在同一级目录下。

相关推荐
再ZzZ20 分钟前
Docker安装PaddleOCR并提供接口服务(CPU)
运维·docker·容器
FJSAY22 分钟前
我自己动手写了一个MySQL自动化备份脚本,基于docker
mysql·docker·自动化
fajianchen29 分钟前
Spring中观察者模式的应用
java·开发语言
库库林_沙琪马34 分钟前
深入理解 @JsonGetter:精准掌控前端返回数据格式!
java·前端
手握风云-1 小时前
JavaEE初阶第一期:计算机是如何 “思考” 的(上)
java·java-ee
Cosmoshhhyyy1 小时前
腾讯云配置了国内镜像依然docker search失败
docker·云计算·腾讯云
普通的冒险者1 小时前
微博项目(总体搭建)
java·开发语言
love530love1 小时前
是否需要预先安装 CUDA Toolkit?——按使用场景分级推荐及进阶说明
linux·运维·前端·人工智能·windows·后端·nlp
BAGAE1 小时前
Flutter 与原生技术(Objective-C/Swift,java)的关系
java·开发语言·macos·objective-c·cocoa·智慧城市·hbase
江湖有缘1 小时前
使用obsutil工具在OBS上完成基本的数据存取【玩转华为云】
android·java·华为云