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需要在同一级目录下。

相关推荐
我真的是大笨蛋12 分钟前
K8S-Pod(下)
java·笔记·云原生·容器·kubernetes
碳水加碳水37 分钟前
Java代码审计实战:XML外部实体注入(XXE)深度解析
java·安全·web安全·代码审计
努力也学不会java2 小时前
【设计模式】 原型模式
java·设计模式·原型模式
方渐鸿2 小时前
【2024】k8s集群 图文详细 部署安装使用(两万字)
java·运维·容器·kubernetes·k8s·运维开发·持续部署
学亮编程手记2 小时前
K8S v1.33 版本主要新特性介绍
java·容器·kubernetes
我爱云计算2 小时前
K8S详解(5万字详细教程)
linux·运维·云原生·容器·kubernetes
帝国辉耀12 小时前
docker、docker daemon、k8s、dockershim、containerd之间的关系
docker·容器·kubernetes
明明跟你说过2 小时前
【k8s】资源限制管理:Namespace、Deployment与Pod的实践
运维·docker·云原生·容器·kubernetes·k8s
Haven-3 小时前
Java-面试八股文-JVM篇
java·jvm·面试
我真的是大笨蛋3 小时前
JVM调优总结
java·jvm·数据库·redis·缓存·性能优化·系统架构