Docker安装jenkins,并且创建maven任务
Jenkins是持续开发部署得软件。,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。它是CICD(持续集成与持续交付)的具体实现。Jenkins有很多插件,比如git,svn,maven,pipeline等插件。
Jenkins是持续开发部署得软件。,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。它是CICD(持续集成与持续交付)的具体实现。
包括:打包,发布,部署流程。
Jenkins有很多插件,比如git,svn,maven,pipeline等插件。
我主要创建了maven项目,所以只需要安装git和maven安装要注意下面几点:
- maven一定要安装在jenkins服务器上。
- maven安装之前要先安装jdk。
- 建任务前,需要有git环境,并配置好用户名密码。
1.创建docker jenkins容器
新建一个dockerfile文件
from java_ubuntu
user root
run pwd
run curl -fsSL "https://pkg.jenkins.io/debian-stable/jenkins.io.key" | tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null
run echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/ | tee /etc/apt/sources.list.d/jenkins.list > /dev/null
run apt-get update
run apt-get install fontconfig openjdk-11-jre
run apt-get install jenkins
ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
Env JENKINS_HOME=/var/jenkins_home
WORKDIR /
EXPOSE 8080 50000
cmd jenkins
然后执行镜像构建命令
docker build -t docker_jenkins ./ -f dockerfile-jenkins
2.启动docker jenkins容器
使用docker-compose编排容器,docker-compose -f .\docker-jekins.yml up -d
version: "3.0"
volumes:
jenkins_home: #自动创建的是projectname_volumename (dockerjekins_jenkins_home)
maven_home: #自动创建的是projectname_volumename (dockerjekins_maven_home)
networks:
mynetwork:
external: true
services:
image: docker_jenkins
container_name: docker_jenkins
ports:
- 10240:8080
- 10241:50000
volumes:
- jenkins_home:/var/jenkins_home
- maven_home:/usr/local/maven
environment:
- JAVA_OPTS=-Duser.timezone=Asia/Shanghai
networks:
- mynetwork
3.访问jenkins
3.1 登录jenkins
浏览器输入http://localhost:10240/,密码可以在容器日志中查看,也可以进入容器在/var/jenkins_home/secrets/initialAdminPassword文件中查看。
登录完成之后可以选择安装推荐插件或者选择插件,这里我就不选择安装了,直接跳过。
可以在Manage Jenkins中设置用户,安装插件。
因为没安装任何插件所以创建不了其他的任务。
3.2 jenkins 安装git和maven插件
在Manage Jenkins-> Manage Plugin中安装git和maven
git插件:
maven插件(Maven IntegrationVersion):
安装完成之后就可以在New Item中看见Maven的任务
这时候创建的maven的项目, 并不能使用maven打包,编译等操作需要在jenkins服务器(容器)上安装gt和maven。
4.jenkins服务器上安装git和maven
这里安装的git和maven程序,不是上一步中的jenkins的git插件和maven插件
使用docker exec -it docker_jenkins /bin/bash进入到容器上
#安装git和maven
apt-get install -y git maven
#git的安装目录在/usr/lib/git-core
#maven的安装目录在/usr/share/maven
配置git账户和密码,配置完成之后可以在jenkins服务器(容器)上验证是否可以正常pull代码
1.查看本地配置
git config --list
2.配置用户名
git config --global user.name 用户名
3.配置邮箱
git config --global user.email 邮箱
4.配置密码
git config --global credential.helper store
5.打开任意一个项目,执行git pull 或者git push操作
6.按照提示输入账户密码,以后就不需要再输入了。
配置maven下的setting.xml,将源改成alibaba的
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>/usr/share/maven/mavenLibTemp</localRepository>
<pluginGroups>
</pluginGroups>
<proxies>
</proxies>
<servers>
</servers>
<!-- 阿里云仓库,也可以在pom中设置仓库地址 -->
<mirrors>
<mirror>
<id>aliyun</id>
<name>aliyun Maven</name>
<mirrorOf>*</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
</mirrors>
<profiles>
</profiles>
<activeProfiles>
</activeProfiles>
</settings>
5.jenkins中设置全局工具配置
Manage Jenkins->Global Tool Configuration
这里的路径都是jenkins服务器(容器)的实际路径
5.1 Maven (setting.xml文件)
5.3 JDK
5.3 Git
5.4 Maven
6.“系统配置”,增加环境变量
Manage Jenkins->Configure System
7.Jenkins中新建maven项目
在新建的testmaven对新建的项目进行配置
1)Source Code Management (源码配置)
2)Build (编译)
7.1 在jenkins上运行编译
在testmaven中启动编译
在Console Output可以看到运行日志并且依赖源也是配置的alibaba
最终可以看到编译成功的信息
7.2 在jenkins上编译之后部署
上边步骤8只是编译了jar包,如果需要部署,则需要在jenkins页面上安装ssh插件.
1. 插件安装完成之后可以执行一下发布操作.
2.docker_jenkins安装Docker
先docker_jenkins容器,然后执行docker 安装
apt-get -o Acquire::Check-Valid-Until=false update
apt-get install -y ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get install -y --allow-unauthenticated docker-ce docker-ce-cli containerd.io
查看Docker # 发现只有 Docker Engine docker version
docker version
然后提交保存镜像
# 保存当前镜像
docker commit -a "bpf" -m "add docker and tools" ub1 dockerubuntu
# 运行新的容器
docker run -it --name ub2 --hostname docker1 \
-v /var/run/docker.sock:/var/run/docker.sock \
--network mynet dockerubuntu
3.maven build之后执行docker build操作
#!/bin/bash
echo "----pwd---"
pwd
echo "----docker build---"
docker build -t cloud-producter-two ./client/producter/producter-two/target -f ./client/producter/producter-two/dockerfile
A=`docker images --format "{{.Repository}}:{{.ID}}" | grep "none" |awk -F ':' '{print $2}'|wc -l`
if [ $A -ne 0 ];then
docker rmi $(docker images --format "{{.Repository}}:{{.ID}}" | grep "none" |awk -F ':' '{print $2}')
fi
8.Jenkins上执行Pipeline
- Pipeline脚本是由Groovy语言实现,它支持支持两种语法
- Declarative 声明式(在Pipeline plugin 2.5中引入)
- Scripted Pipeline 脚本式
首先安装pipeline插件,创建任务时就可以创建pipeline的任务了
pieline语法类似:
pipeline {
agent any
tools {
// Install the Maven version configured as "M3" and add it to the path.
maven "M3"
}
stages {
stage('Build') {
steps {
// Get some code from a GitHub repository
git 'https://github.com/jglick/simple-maven-project-with-tests.git'
// Run Maven on a Unix agent.
sh "mvn -Dmaven.test.failure.ignore=true clean package"
// To run Maven on a Windows agent, use
// bat "mvn -Dmaven.test.failure.ignore=true clean package"
}
post {
// If Maven was able to run the tests, even if some of the test
// failed, record the test results and archive the jar file.
success {
junit '**/target/surefire-reports/TEST-*.xml'
archiveArtifacts 'target/*.jar'
}
}
}
}
}
总结:
jenkins实际就是页面插件调用后端(服务器上)工具的命令组合。
参考:
docker安装jenkins_hzp666的博客-CSDN博客_docker安装jenkins
jenkins中maven的安装及配置,如何在jenkins中创建maven任务。_大敌的博客-CSDN博客_jenkins maven
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)