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目录下

bash 复制代码
tar -zxvf jdk-8u371-linux-x64.tar.gz -C /usr/local

配置环境变量

bash 复制代码
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

bash 复制代码
tar -zxvf maven.tar.gz -C /usr/local

编辑setting.xml

bash 复制代码
#进入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 -version

Maven 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安装

bash 复制代码
#拉去镜像
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-lts
		container_name: jenkins
		ports:
			- 8080:8080
			- 50000:50000
		volumes:
			- ./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:

1717a4d7c81e4459896c886435f67j94

This 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中

bash 复制代码
#将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

Groovy 复制代码
version: "3.1"
services:
  jenkins:
    image: jenkins/jenkins:2.401.2-lts
    container_name: jenkins
    ports:
      - 8080:8080
      - 50000:50000
    volumes:
      - ./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添加全局凭证

bash 复制代码
# 进入
系统管理 -> 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,用户名,发送到目标服务器的目录,在高级中添加用户名的密码,镜像测试连接

相关推荐
Linux运维技术栈30 分钟前
Ansible(自动化运维)环境搭建及ansible-vault加密配置
运维·自动化·ansible
Bessssss2 小时前
centos权限大集合,覆盖多种权限类型,解惑权限后有“. + t s”问题!
linux·运维·centos
苹果醋32 小时前
Golang的文件加密工具
运维·vue.js·spring boot·nginx·课程设计
jwensh2 小时前
【Jenkins】Declarative和Scripted两种脚本模式有什么具体的区别
运维·前端·jenkins
大熊程序猿3 小时前
xxl-job docker 安装
运维·docker·容器
董健正3 小时前
centos制作离线安装包
linux·运维·centos
咏颜4 小时前
Ubuntu离线安装Docker容器
linux·运维·服务器·经验分享·ubuntu·docker
DexterLien5 小时前
Debian 12 安装配置 fail2ban 保护 SSH 访问
运维·debian·ssh·fail2ban
娶不到胡一菲的汪大东5 小时前
Shell脚本
linux·运维·ubuntu
xserver26 小时前
ensp 基于静态NAT发布公司网站服务器,
运维·服务器