JenKins快速安装与使用,Gitlab自动触发Jenkins

一、JenKins

0.准备,配置好环境

1)Git(yum安装)

2)JDK(自行下载)

3)Jenkins(自行下载)

1.下载安装包

进官网,点Download下方即可下载。要下载其他版本,就点past,下载war包,然后服务器也需要对应版本jdk。

Jenkins官网:

Jenkins download and deployment

下载其他版本Jenkins:

Java官网:

Java Downloads | Oracle

各种版本都有,下载压缩版即可(后缀为tar.gz)

2.启动

把文件上传到服务器,然后解压Jdk,把Jdk的路径写到/etc/profile中,在启动Jenkins即可。

nohup java -jar jenkins1117.war --httpPort=8095 >/mnt/tools/nohup.out &

#查看密码

ail -fn 200 /mnt/tools/nohup.out

步骤:

tar -zxvf jdk-17_linux-x64_bin.tar.gz

vim /etc/profile

export JAVA_HOME=/mnt/jdk/jdk-17.0.9

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

source /etc/profile

输入java测试,出现内容就是配置成功

启动Jenkins

nohup java -jar jenkins1117.war --httpPort=8095 >/mnt/tools/nohup.out &

进入Jenkins,查看是否启动成功。如果进不去,就看看防火墙

http://192.168.186.128:8095/

3.进行设置

查看密码:tail -fn 200 /mnt/tools/nohup.out

输入密码

接下来走流程:

安装推荐插件

安装完成,创建账号

设置URL

开始

1)安装插件

安装目前会用到的插件:

Publish Over SSH

NodeJS Plugin

Maven Integration plugin

GitLab Plugin

进入插件管理,安装插件

2)配置变量

进入Global Tool Configuration,在里面设置JDK的位置,Maven,NodeJS的位置,只有安装了才配置。

设置JDK

设置目标服务器

4. 项目自动部署

1、创建项目

2、设置git

直接放git地址会报错,因为访问gitlab项目是要密码的,所以我们可以在下面配置拥有项目的用户的账号密码

添加后,选择即可

3、拉取代码

简单这样配置即可,意思为输出hello,然后把代码拉过来。

这个设置会把git中的代码都放入用户根目录下的oldagecrm文件中

4、启动脚本

第三步把代码拉到目标服务器了,现在执行写好的部署脚本,那么后续就交给脚本了

选择Send files or execute commands over SSH after the build runs

设置执行用户根目录下的脚本。脚本的位置没要求,你也可以把脚本上传到git中,这样每次拉代码都会把脚本也拉过来,然后执行项目中的脚本。

别忘了给脚本执行权限

执行一下Jenkins任务,看看效果。脚本被执行了。

5、测试&修正

运行设置好的Jenkins任务,进控制台看执行日志。

5.Gitlab设置钩子,Webhook

Jenkins任务写好后,就可以在gitlab设置钩子,当gitlab代码更新时,调用Jenkins的任务进行项目更新部署。

实现gitlab触发Jenkins需要安装Build Authorization Token RootVersion 插件,允许匿名访问jenkins。

然后gitlab在项目设置中的webhook中,加入钩子事件,输入Jenkins触发url,就欧克了。

1、安装插件

2、设置Jenkins任务的触发URL

设置好后记得保存,保存后再去访问

3、在Gitlab设置触发

gitlab要使用webhook功能,需要管理员进行开启,开启后,gitlab的项目才能使用webhook功能,以下为流程:

进入需要webhook的项目

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用netconf配置华为设备

实验目的: 公司有一台CE12800的设备,管理地址位172.16.1.2,现在需要编写自动化脚本,通过SSH登陆到设备上配置netconf协议的用户名,密码以及netconf服务,并且通过netconf协议将设备的loopback0接口IP地址配…

一文读懂Asyncio

什么是Asyncio asyncio 是用来编写并发代码的库,使用async/await语法。 asyncio 被用作多个提供高性能 Python 异步框架的基础,包括网络和网站服务,数据库连接库,分布式任务队列等等。 asyncio 往往是构建 IO 密集型和高层级结构化…

Linux创建与编辑视图

本博客将会详细讲解如何在Linux中如何编辑配置文件 输出重定向 对于一台设备而言&#xff0c;存在着两种设备&#xff0c;分别负责输入与输出&#xff1a; 显示器&#xff08;输出设备>&#xff09; 与 键盘&#xff08;输入设备<&#xff09; 对于Linux系统而言&#…

深入理解 Vue 中的指针操作(二)

文章目录 ☘️引言☘️基本用法&#x1f342;v-for指令&#x1f342;v-model指令&#x1f331;v-model适用表单控件&#x1f331;修饰符&#x1f9c4;.lazy 修饰符&#x1f9c4;.number 修饰符&#x1f9c4;.trim 修饰符 ☘️结论 ☘️引言 Vue.js 是一款非常流行且功能强大的…

Golang数据类型(数组)

数组重要概念 数组&#xff08;Array&#xff09;是一种非常常见的数据类型&#xff0c;几乎所有的计算机编程语言中都会用到它 在Go语言中&#xff0c;数组有如下的特点&#xff1a; 数组里的元素必须全部为同一类型&#xff0c;要嘛全部是字符串&#xff0c;要嘛全部是整数…

onelist能让alist聚合网盘拥有海报墙

什么是 onelist &#xff1f; onelist 是一个类似 emby 的专注于刮削 alist 聚合网盘形成影视媒体库的程序。 主要解决以下痛点&#xff1a; alist 挂载云盘后能在网页端看视频&#xff0c;却没有分类&#xff0c;没有海报墙&#xff1b;使用 webdav 挂载本地后&#xff0c;用…

最大熵模型

1. 最大熵原理 学习概率模型时&#xff0c;在所有可能的概率模型(分布)中&#xff0c;熵最大的模型是最好的模型。 假设离散随机变量X的概率分布是P(X)&#xff0c;则其熵为 且满足0<H(P)<logN 当且仅当X的分布是均匀分布时右边的等号成立&#xff0c;即当X服从均匀分布…

卷积神经网络(CNN)注意力检测

文章目录 一、前言二、前期工作1. 设置GPU&#xff08;如果使用的是CPU可以忽略这步&#xff09;2. 导入数据3. 查看数据 二、数据预处理1.加载数据2. 可视化数据4. 配置数据集 三、调用官方网络模型四、设置动态学习率五、编译六、训练模型七、模型评估1. Accuracy与Loss图2. …

外汇天眼:外汇市场中的“双向交易”是什么意思?

说到外汇市场&#xff0c;总免不了提到它双向交易的优势&#xff0c;很多新手会对这一点有所疑问&#xff0c;今天我们就帮大家解决这一个疑问。 何谓双向交易&#xff1f; 金融市场上&#xff0c;交易者最常接触到的股票&#xff0c;多属于单向交易。 单向交易的模式便是「先…

1145. 北极通讯网络(Kruskal,并查集维护)

北极的某区域共有 n 座村庄&#xff0c;每座村庄的坐标用一对整数 (x,y) 表示。 为了加强联系&#xff0c;决定在村庄之间建立通讯网络&#xff0c;使每两座村庄之间都可以直接或间接通讯。 通讯工具可以是无线电收发机&#xff0c;也可以是卫星设备。 无线电收发机有多种不…

MySQL之redo log

聊聊REDO LOG 为什么需要redolog&#xff1f; 那redolog主要是为了保证数据的持久化&#xff0c;我们知道innodb存储引擎中数据是以页为单位进行存储&#xff0c;每一个页中有很多行记录来存储数据&#xff0c;我们的数据最终是要持久化到硬盘中&#xff0c;那如果我们每进行…

MySQL修改已存在数据的字符集

在实际应用中&#xff0c;如果一开始没有正确的设置字符集&#xff0c;在运行一段时间以后&#xff0c;才发现当前字符集不能满足要求&#xff0c;需要进行调整&#xff0c;但又不想丢弃这段时间的数据&#xff0c;这个时候就需要修改字符集。 在MySQL设置默认字符集和校对规则…

【探索Linux】—— 强大的命令行工具 P.18(进程信号 —— 信号捕捉 | 信号处理 | sigaction() )

阅读导航 引言一、信号捕捉1. 内核实现信号捕捉过程2. sigaction() 函数&#xff08;1&#xff09;函数原型&#xff08;2&#xff09;参数说明&#xff08;3&#xff09;返回值&#xff08;4&#xff09;函数使用 二、可重入函数与不可重入函数1. 可重入函数条件2. 不可重入函…

Pytorch模型编译报错 UserWarning: (Resize(), RandomResizedCrop(), etc.)——解决办法

1、问题描述 使用Pytorch训练模型时&#xff0c;编译报错&#xff1a; UserWarning: The default value of the antialias parameter of all the resizing transforms (Resize(), RandomResizedCrop(), etc.) will change from None to True in v0.17, in order to be consis…

linux socket套接字

文章目录 socket流socket&#xff08;TCP&#xff09;数据报socket&#xff08;UDP&#xff09; 讨论 socket 所谓套接字&#xff0c;就是对网络中不同主机上的应用程序之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端&#xff0c;套接字提供了应用层进程利…

【内网安全】搭建网络拓扑,CS内网横向移动实验

文章目录 搭建网络拓扑 ☁环境CS搭建,木马生成上传一句话&#xff0c;获取WebShellCS上线reGeorg搭建代理&#xff0c;访问内网域控IIS提权信息收集横向移动 实验拓扑结构如下&#xff1a; 搭建网络拓扑 ☁ 环境 **攻击者win10地址&#xff1a;**192.168.8.3 dmz win7地址&…

VSCode 代码调试

断点调试&#xff08;debug&#xff09;&#xff1a; 指在程序的某一行设置一个断点&#xff0c;调试时&#xff0c;程序运行到这一行就会停住&#xff0c;然后你可以一步一步往下调试&#xff0c;调试过程中可以看各个变量当前的值&#xff0c;出错的话&#xff0c;调试到出错…

PostgreSQL-SQL联表查询LEFT JOIN 数据去重复

我们在使用left join联表查询时&#xff0c;如果table1中的一条记录对应了table2的多条记录&#xff0c;则会重复查出id相同的多条记录。 1、解决方法一 SELECT t1.* FROM table1 t1 LEFT JOIN table2 t2 ON t1.id t2.tid 第一种方法我们发现还是有重复数据 2、解决方法二…

无限移动的风景 css3 动画

<style>*{margin:0;padding:0;/* box-sizing: border-box; */}ul{list-style: none;}#nav{width:900px;height:100px;border:2px solid rgb(70, 69, 69);margin:100px auto; overflow: hidden;}#nav ul{animation:moving 5s linear infinite;width:200%; /*怎么模拟动画…

【数据挖掘】国科大刘莹老师数据挖掘课程作业 —— 第二次作业

Written Part 1. 给定包含属性&#xff5b;Height, Hair, Eye&#xff5d;和两个类别&#xff5b;C1, C2&#xff5d;的数据集。构建基于信息增益&#xff08;info gain&#xff09;的决策树。 HeightHairEyeClass1TallBlondBrownC12TallDarkBlueC13TallDarkBrownC14ShortDark…