jenkins准备

回到目录

jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle

1 安装

在ubuntu上使用docker安装

1.1 环境安装
jdk

官网下载对应版本Java Downloads | Oracle

这里选择x64.tar.gz

在ubuntu中解压到usr/local目录下

tar -zxvf jdk-8u371-linux-x64.tar.gz -C /usr/local

配置环境变量

vim /etc/profile
#追加
export   JAVA_HOME=/usr/local/jdk1.8.0_371
export   CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export  PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export   JRE_HOME=$JAVA_HOME/jre#生效
source /etc/profile#验证
java -version
maven

官网下载对应版本maven download

选择bin.tar.gz

解压到usr/local

tar -zxvf maven.tar.gz -C /usr/local

编辑setting.xml

#进入maven->conf目录
#编辑settings.xml
vim settings.xml#增加mirror
<mirror><id>nexus-aliyun</id><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> 
</mirror>#编辑jdk1.8 编译插件
#在profiles中增加
<profile>
<id>jdk8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>#在settings中增加
<activeProfiles>
<activeProfile>jdk8</activeProfile>
</activeProfiles>#环境变量
vim /etc/profile#追加
export M2_HOME=/usr/local/apache-maven-3.9.3
export PATH=$M2_HOME/bin:$PATH#生效
source /etc/profile#验证
mvn -versionMaven home: /usr/local/apache-maven-3.9.3
Java version: 1.8.0_371, vendor: Oracle Corporation, runtime: /usr/local/jdk1.8.0_371/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.4.0-113-generic", arch: "amd64", family: "unix"
docker

需要docker和docker compose,可参见这里进行安装

1.2 jenkins安装

#拉去镜像
docker pull jenkins/jenkins:2.401.2-lts#在/usr/local下创建一个docker目录,并创建docekr-jenkins目录
#在该目录下创建一个docker-compose.yaml
version: "3.1"
services:jenkins:image: jenkins/jenkins:2.401.2-ltscontainer_name: jenkinsports:- 8080:8080- 50000:50000volumes:- ./data/:/var/jenkins_home/#docker-compose 构建
#在当前目录下
docker-compose up -d
#需要对当前目录的data目录增加权限
chmod 777 -R data#重启容器
docker-compose restart#查看日志
docker logs -f jenkins#得到密码
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:1717a4d7c81e4459896c886435f67j94This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
#访问服务器ip:8080即可#如果插件安装太慢或安装失败
可以在数据卷中的hudson.modle.UpdataCenter.xml修改镜像地址
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

访问ip:8080进入jenkins UI页面 

进入后

使用默认管理员账户登入

在左上角admin中状态,下滑到password,修改密码为1234Qwer

2 maven jdk docker加载

由于jenkins内部下载maven和jdk太慢,需要讲1.1中环境安装的jdk和maven加载到jenkins中

#将jdk和maven移动到安装jenkins的data目录下
mv /usr/local/jdk /usr/local/docker/docker-jenkins/data
mv /usr/local/maven /usr/local/docker/docker-jenkins/data

修改docker-compose.yml

version: "3.1"
services:jenkins:image: jenkins/jenkins:2.401.2-ltscontainer_name: jenkinsports:- 8080:8080- 50000:50000volumes:- ./data/:/var/jenkins_home/- /var/run/docker.sock:/var/run/docker.sock- /usr/bin/docker:/usr/bin/docker- /etc/docker/daemon.json:/etc/docker/daemon.json

重新构建jenkins 

docker-compose up -d

3 安装插件

在系统管理->插件管理->available plugins中搜索并安装,安装完成重启Jenkins,再进入UI对需要配置的插件安装说明进行配置

 

gitlab

连接gitlab工具

gitlab添加全局凭证

# 进入
系统管理 -> credentials -> stores scoped to jenkins -> system -> 全局凭证 -> add credentials -> user/password
# 使用gitlab用户名密码
gitlab 用户名gitlab用户名,密码gitlab密码
id设置为 gitlab-user-pass
# 保存

Git Parameter

git 参数插件,在进行项目参数化构建时使用

Config File Provider

用于加载外部配置文件,如 Maven 的 settings.xml 或者 k8s 的 kubeconfig 等

Node and Label parameter

节点标签参数配置

Build Authorization Token Root

用于创建token凭证

 Publish over SSH

远程ssh操作

在系统管理->系统配置中,下拉到 Publish over SSH

名称随意,地址为需要连接的服务器ip,用户名,发送到目标服务器的目录,在高级中添加用户名的密码,镜像测试连接

 

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

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

相关文章

【设计模式】单例模式

什么是单例模式&#xff1f; 保证一个类仅有一个实例&#xff0c;并提供一个访问它的全局访问点 单例模式的应用场景 1.整个程序的运行中只允许有一个类的实例&#xff1b; 2.需要频繁实例化然后销毁的对象。 3.创建对象时耗时过多或者耗资源过多&#xff0c;但又经常用到…

如何在 Rust 中运行 Lua 程序

在Rust中&#xff0c;你可以使用rust-lua这个库来运行Lua程序。下面是一个简单的例子&#xff1a; 首先&#xff0c;将 rust-lua 添加到你的 Cargo.toml 文件中&#xff1a; [dependencies] rust-lua "0.36"然后&#xff0c;在你的Rust代码中&#xff0c;你可以使…

Framework入门02-应用进程

2-1 你知道应用进程是怎么启动的吗? (1) Linux下进程启动的方式 pidfork(),这个方法会返回2次。pid为0时在子进程执行&#xff0c;pid为子进程的进程id时&#xff0c;在父进程执行。若在子进程中&#xff0c;没有execve(path, argv, env)函数&#xff0c;则子进程共享父进程…

阿里云容器服务助力极氪荣获 FinOps 先锋实践者

作者&#xff1a;海迩 可信云评估是中国信息通信研究院下属的云计算服务和软件的专业评估体系&#xff0c;自 2013 年起历经十年发展&#xff0c;可信云服务评估体系已日臻成熟&#xff0c;成为政府支撑、行业规范、用户选型的重要参考。 2022 年 5 月国务院国资委制定印发《…

linux中校验文件的sha256sum值

用途 下载源文件和校验文件进行校验&#xff0c;防止被中间人篡改文件内容。 同理的还有yum仓库&#xff0c;加载第三方库时&#xff0c;要先导入一个key密钥。 sha256校验 这里用helm软件包示例 curl -LO https://get.helm.sh/helm-v3.12.0-linux-amd64.tar.gzcurl -LO ht…

【云原生】K8S二进制搭建一

目录 一、环境部署1.1操作系统初始化 二、部署etcd集群2.1 准备签发证书环境在 master01 节点上操作在 node01与02 节点上操作 三、部署docker引擎四、部署 Master 组件4.1在 master01 节点上操 五、部署Worker Node组件 一、环境部署 集群IP组件k8s集群master01192.168.243.1…

EventBus 开源库学习(二)

整体流程阅读 EventBus在使用的时候基本分为以下几步&#xff1a; 1、注册订阅者 EventBus.getDefault().register(this);2、订阅者解注册&#xff0c;否者会导致内存泄漏 EventBus.getDefault().unregister(this);3、在订阅者中编写注解为Subscribe的事件处理函数 Subscri…

ceil(),floor(),round()函数C++详解

ceil&#xff08;&#xff09; ceil()函数是这样的&#xff1a; double ceil(double x) ceil函数可以把x上取整。 例子&#xff1a; #include <bits/stdc.h> using namespace std; int main() {double a, b;cin >> a >> b;printf("ceil(%.2f) %.2…

TensorFlow搭建神经网络

TensorFlow版本&#xff1a;2.13.0TensorFlow官方文档TensorFlow官方文档中文版 TensorFlow中搭建并训练一个神经网络分为以下几步&#xff1a; 定义神经网络配置损失函数以及优化器训练&#xff1a;反向传播、梯度下降 下面以LeNet-5为例&#xff0c;搭建一个卷积神经网络用…

消息队列项目(2)

我们使用 SQLite 来进行对 Exchange, Queue, Binding 的硬盘保存 对 Message 就保存在硬盘的文本中 SQLite 封装 这里是在 application.yaml 中来引进对 SQLite 的封装 spring:datasource:url: jdbc:sqlite:./data/meta.dbusername:password:driver-class-name: org.sqlite.…

自定义elementui的主题

通常情况下&#xff0c;我们使用elementui框架的时候默认组件的主题都是白色的&#xff0c;比如&#xff1a; 但是如果想自定义主题&#xff0c;改变主题颜色&#xff0c;以及各种默认颜色&#xff0c;其实也不难&#xff1a; 配置默认主题&#xff0c;选好后点击下载 在vu…

【云计算 | Docker】Docker容器后台运行不了?entrypoint在作妖?

1. 问题 使用镜像alpine起个容器&#xff0c;使其保持后台运行&#xff0c;正常情况有如下的效果&#xff0c;可以发现容器保持运行状态。 [rootk8s-master helloWorld]# docker run -dit docker.io/alpine /bin/sh 8d39d7579d5e4f1a560aef16ba57ab5cae2506ea9105e21cbc0634…

python + seaborn绘制条形图

文章目录 条形图countplotpointplot条形图 条形图是我们熟悉的一种绘图方式,它可以实现这一目标。在 seaborn 中,barplot() 函数对一个完整的数据集进行操作,并应用一个函数来获取估计值(默认情况下取平均值)。当每个类别中有多个观测值时,它还会使用引导法计算估计值的…

墨觉Run Plus耳机真的很好嘛?南卡、韶音、墨觉哪个好

随着近年来蓝牙耳机市场的快速变化&#xff0c;耳机的样式也在不断演变&#xff0c;从入耳式发展到无需入耳的骨传导耳机。骨传导耳机因其可以通过骨传导技术进行声音传输&#xff0c;无需贴合耳道即可实现耳机功能&#xff0c;因此备受市场欢迎。尤其是近两年&#xff0c;骨传…

关于简单C++函数在内存中的存储问题

举例 int main(){... }int data(){... }int add(){... } 在分段式存储管理时&#xff0c;根据人们的需求&#xff0c;人为分段存储 如图&#xff1a;

ios_base::out和ios::out、ios_base::in和ios::in、ios_base::app和ios::app等之间有什么区别吗?

2023年8月2日&#xff0c;周三晚上 今天我看到了这样的两行代码&#xff1a; std::ofstream file("example.txt", std::ios_base::out);std::ofstream file("example.txt", std::ios::out);这让我产生了几个疑问&#xff1a; 为什么有时候用ios_base::o…

Matlab实现支持向量机算法(附上多个完整仿真源码)

支持向量机是一种常见的机器学习算法&#xff0c;它可以用于分类和回归问题。在Matlab中使用支持向量机&#xff0c;可以方便地构建和训练模型&#xff0c;并进行预测和评估。本文将介绍Matlab支持向量机的基本原理以及一个简单的分类案例。 文章目录 1. 支持向量机的基本原理2…

JAVA实现动态代理的两种方式及主要的区别

两种动态代理 JAVA中实现动态代理主要目的是为了实现AOP&#xff0c;即面向切面编程。 而动态代理主要是在程序运行期间&#xff0c;基于原类生成代理类&#xff0c;并且将需要织入的代码加入到代理类的方法中&#xff0c;可以实现动态的代码链接。 JAVA实现动态代理的两种方式…

如何通过 WordPress 数据库启用插件?【进不去后台可用】

如果您无法访问 WordPress 后台并需要激活插件以恢复访问权限&#xff0c;则可以通过 WordPress 数据库来实现。本文将向您展示如何使用数据库轻松激活 WordPress 插件。 何时使用数据库激活 WordPress 插件&#xff1f; 许多常见的 WordPress 错误会阻止网站所有者访问 WordP…

k8s目录

k8s笔记目录&#xff0c;更新中... 一 概念篇 1.1概念介绍 1.2 pod 1.3 controller 1.3.1 deployment 1.3.2 statefulset 1.3.3 daemonset 1.3.4 job和cronJob1 1.4 serivce和ingress 1.5 配置与存储 1.5.1 configMap 1.5.2 secret 1.5.3 持久化存储 1.5.4 pv、…