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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/907054.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue项目安装组件失败解决方法

1.vue项目 npm install 失败 删除node_modules文件夹、package-lock.json 关掉安装对话框 重新打开对话框 npm install

WPF中如何解决DataGrid的Header没有多余的一行

将最后一行设置DataGridTemplateColumn Width"*" 使其自适应

ros与mqtt相互转换

vda5050 VDA5050协议介绍 和 详细翻译-CSDN博客 ros与mqtt相互转换 如何转换的&#xff0c;通过某个中转包&#xff0c;获取ros的消息然后以需要的格式转换为mqtt 需要的参数 ros相关 parameters[ (ros_subscriber_type, vda5050_msgs/NodeState), (ros_subscriber_queue…

一些硬件知识【2024/11/2】

当需要提供功率型的输出信号的时候&#xff0c;可以在信号发生器外接功率放大器&#xff0c;这样可以提高输出功率 信号的调幅&#xff08;AM&#xff09;、调频&#xff08;FM&#xff09;与调相&#xff08;PM&#xff09;&#xff1a; 调制信号&#xff1a;控制高频振荡的低…

YOLO即插即用---PKIBlock

Poly Kernel Inception Network for Remote Sensing Detection 论文地址 1. 解决的问题 2. 解决方案 3. 解决问题的具体方法 4. 模块的应用 5. 在目标检测任务中的添加位置 6.即插即用代码 论文地址 2403.06258https://arxiv.org/pdf/2403.06258 1. 解决的问题 遥感图…

丝杆支撑座的更换与细节注意事项

丝杆支撑座是支撑连接丝杆和电机的轴承支撑座&#xff0c;分固定侧和支撑侧&#xff0c;它们都有用预压调整的JIS5级的交界处球轴承。在自动化设备中是常用的传动装置&#xff0c;作为核心部件&#xff0c;对设备精度、稳定性和生产效率产生直接影响。在长时间运行中&#xff0…

3D Gaussian Splatting代码详解(一):模型训练、数据加载

1 模型训练 这段代码实现了一个 3D 高斯模型的训练循环&#xff0c;旨在通过逐步优化模型参数&#xff0c;使其能够精确地渲染特定场景。以下是代码的详细解析&#xff1a; def training(dataset, opt, pipe, testing_iterations, saving_iterations, checkpoint_iterations,…

Docker-微服务项目部署

环境准备 1.微服务项目 参考&#xff1a;通过网盘分享的文件&#xff1a;wolf2w_cloud.zip 链接: https://pan.baidu.com/s/1Lr4k6LPIJ59gVNA_DgKM_Q?pwdkjxt 提取码: kjxt 前端项目&#xff1a;trip-mgrsite-ui&#xff0c;trip-website-ui&#xff0c;trip-wenda-ui 服务项…

设计模式讲解01-建造者模式(Builder)

1. 概述 建造者模式也称为&#xff1a;生成器模式 定义&#xff1a;建造者模式是一种创建型设计模式&#xff0c;它允许你将创建复杂对象的步骤与表示方式相分离。 解释&#xff1a;建造者模式就是将复杂对象的创建过程拆分成多个简单对象的创建过程&#xff0c;并将这些简单…

HTML 基础标签——文本内容标签 <ul>、<ol>、<blockquote> 、<code> 等标签的用法详解

文章目录 1. 标题标签2. 段落标签3. 文本格式化标签4. 列表标签4.1 无序列表 `<ul>`4.2 有序列表 `<ol>`5. 引用标签5.1 块引用 `<blockquote>`5.2 行内引用 `<q>`5.3 作品引用 `<cite>`6. 代码和预格式文本标签6.1 代码标签 `<code>`6.2 …

(51)MATLAB迫零均衡器系统建模与性能仿真

文章目录 前言一、迫零均衡器性能仿真说明二、迫零均衡器系统建模与性能仿真代码1.仿真代码2.代码说明3.迫零均衡器zf_equalizer的MATLAB源码 三、仿真结果1.信道的冲击响应2.频率响应3.迫零均衡器的输入和输出 前言 使用MATLAB对迫零均衡器系统进行建模仿真&#xff0c;完整的…

前端请求后端接口报错(blocked:mixed-content),以及解决办法

报错原因&#xff1a;被浏览器拦截了&#xff0c;因为接口地址不是https的。 什么是混合内容&#xff08;Mixed Content&#xff09; 混合内容是指在同一页面中同时包含安全&#xff08;HTTPS&#xff09;和非安全&#xff08;HTTP&#xff09;资源的情况。当浏览器试图加载非…

python 包和模块

一、模块 一个.py 文件就是一个模块&#xff0c;模块是含有一系列数据&#xff0c;函数&#xff0c;类等的程序。 1、模块导入 1.1、impotrt 模块名称 [ as 别名] import nunpy as np 1.2、form 模块名 import 模块内属性名 [ as 别名] from datetime import datetime as d…

Git下载-连接码云-保姆级教学(连接Gitee失败的解决)

Git介绍 码云连接 一、Git介绍 二、Git的工作机制 下载链接&#xff1a;Git - 下载软件包 三、使用步骤 创建一个wss的文件夹&#xff0c;作为‘工作空间’ 四、连接码云账号 五、连接Gitee失败的解决方法 一、Git介绍 Git是一个免费的、开源的分布式版本控制…

https和http的区别,及HTTPS的工作流程

HTTP&#xff08;HyperText Transfer Protocol&#xff09;和HTTPS&#xff08;HyperText Transfer Protocol Secure&#xff09;都是超文本传输协议&#xff0c;但它们之间的关键区别在于安全性。 安全性&#xff1a; HTTP&#xff1a;数据以明文传输&#xff0c;没有加密&…

【Python · Pytorch】人工神经网络 ANN(上)

【Python Pytorch】人工神经网络 ANN&#xff08;上&#xff09; 0. 生物神经网络1. 人工神经网络定义2. 人工神经网络结构2.1 感知机2.2 多层感知机2.3 全连接神经网络2.4 深度神经网络 2. 训练流程※ 数据预处理 (Data Preprocessing) 3. 常见激活函数3.1 Sigmoid / Logisti…

基本查询【MySQL】

文章目录 基本查询插入时是否更新替换查询指定列查询查询字段为表达式为查询结果指定别名结果去重where条件NULL 的查询 结果排序筛选分页结果UpdateDelete截断表聚合函数分组(group by)having && where 基本查询 建表 mysql> create table Student (-> id int…

pandas——数据结构

一、series &#xff08;一&#xff09;创建series import pandas as pd#1.使用列表或数组创建Series # 使用列表创建Series&#xff0c;索引默认从0开始 s1 pd.Series([1, 2, 3]) print(s1) # 使用列表和自定义索引创建Series s2 pd.Series([1, 2, 3], index[a, b, c]) pr…

算法妙妙屋-------1.递归的深邃回响:C++ 算法世界的优雅之旅

前言&#xff1a; 递归是一种在算法中广泛应用的思想&#xff0c;其主体思想是通过将复杂的问题分解为更简单的子问题来求解。具体而言&#xff0c;递归通常包括以下几个要素&#xff1a; 基本情况&#xff08;Base Case&#xff09;&#xff1a;每个递归算法必须有一个或多个…

禾川HCQ1控制器程序编译报错如何解决

1、第一次打开用户程序 2、提示库未安装 3、安装库文件 4、脉冲轴库未安装 5、没有错误 去禾川自动化官网,把可以安装的包和库都安装下,程序编译就没有错误了。 6、下载相关包文件