Jenkins自动化部署搭建流程
1. Jenkins镜像准备
进入Jenkins官网下载地址点击Docker,并且记住Jenkins最新稳定版本(LTS)
点击Docker后会自动跳转到 Jenkins的镜像下载页面 ,然后找到刚刚的稳定版本,copy docker pull jenkins/jenkins:2.440.2-lts
语句
# pull镜像
docker pull jenkins/jenkins:2.440.2-lts
#提前准备好jdk,maven,nodejs,版本根据自己项目需要下载
apache-maven-3.6.1-bin.tar.gz
jdk-8u391-linux-x64.tar.gz
node-v12.22.12-liunx-x64.tar.gz
#安装环境
mkdir /docker
tar -zxvf apache-maven-3.6.1-bin.tar.gz -C /docker
tar -zxvf jdk-8u391-linux-x64.tar.gz -C /docker
tar -zxvf node-v12.22.12-liunx-x64.tar.gz -C /docker
#启动Jenkins容器
docker run --name jenkins -d -p 8888:8080 -p 50000:50000 --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
-v /docker/jenkins/:/var/jenkins_home \
-v /docker/apache-maven-3.6.1:/var/software/maven3.6.1 \
-v /docker/jdk1.8.0_391:/var/software/jdk1.8 \
-v /docker/node-v12.22.12-liunx-x64:/var/software/node12 \
jenkins/jenkins:2.440.2-lts
-
-v /var/run/docker.sock:/var/run/docker.sock
-v /usr/bin/docker:/usr/bin/docker
将宿主机的docker环境映射到容器中,以便以容器中可以使用docker命令,如果没有操作权限,可以chomd -R 777 /usr/bin/docker
赋权 -
-v /docker/jenkins/:/var/jenkins_home
将容器中的/var/jenkins_home
挂载到宿主机的/docker/jenkins
目录下,里面有jenkins的配置文件,数据以及插件信息 -
-v /docker/apache-maven-3.6.1:/var/software/maven3.6.1
将maven映射到容器的/var/software/maven3.6.1
目录,便于容器中可以使用maven环境,其实可以在jenkins里面在线下载,不过离线内网的情况只能手动设置了; -
-v /docker/jdk1.8.0_391:/var/software/jdk1.8
和maven是一样的操作,如果jdk和maven没有权限,都可以chomd -R 777 /xxx/xxx
赋权 -
-v /docker/node-v12.22.12-liunx-x64:/var/software/node12
同jdk,maven一样
2. Jenkins插件准备
-
启动jenkins后按照页面提示使用
docker logs jenkins
即可看到登录密码 -
插件下载选择默认的就行,离线情况下可以跳过安装,后续通过 jenkins官网插件下载地址 jenkins插件离线下载 手动下载插件进行安装,不过这个需要注意的是,许多插件有依赖项,如果多的话,就很难受 比如这个,依赖的插件里面还依赖了别的插件,所以这种方式不推荐;
-
如果是有网络的情况下,直接在jenkins上下载就行了,如果是内网环境,就在有外网的机子上装一个,把需要的插件都下载好,然后直接打包传到内网替换掉宿主机
/docker/jenkins
目录下的plugins目录(映射到jenkins容器的),然后docker restart jenkins
重启jenkins容器就好了,强烈推荐 -
一般下载插件
Maven Integration(jenkins 利用maven编译,打包,所需插件)
,Locakuzatuib:Chinese(汉化插件)
,Git (git插件,从托管平台拉取代码
,Publish Over SSH
,NodeJS Plugin
, 这些基本足够启动一个maven项目或者前端的vue项目了,也可以根据自己的需要扩展其他的插件pipeline、Pipeline: Groovy
,Extended Choice Parameter
等等
3. 全工具局配置
全局配置maven
全局配置jdk
全局配置docker
全局配置NodeJs
4. 自动化流程构建设置
搭建后端maven项目
-
首页点击新建任务,然后选择构建maven项目
-
配置git
-
配置maven构建命令
-
配置构建脚本
# 先删除之前的容器和镜像文件 if docker ps -a --format "{{.Names}}" | grep -q "testmaven"; then docker stop testmaven docker rm testmaven if if docker ps -a --format "{{.Repository}}::{{.Tag}}" | grep -q "testmaven"; then docker rmi testmaven:0.2 if # 重新生成 cd /var/jenkins_home/workspace/testmaven/target docker build -t testmaven:0.2 . docker run -itd -p 8091:8080 --name testmaven testmaven:0.2
在maven项目的根目录中新增Dockerfile文件,使其编译
FROM java:8 COPY jenkinsTest-0.1.jar /usr/local/jenkinsTest-0.1.jar #EXPOSE 8080 ENTRYPOINT ["java","-jar","/usr/local/jenkinsTest-0.1.jar"]
在项目的pom文件中的build标签内加入配置,使其可以编译打包到
target
的根目录中文章来源:https://www.toymoban.com/news/detail-849159.html<resources> <resource> <directory>${project.basedir}</directory> <includes> <include>Dockerfile</include> </includes> <targetPath>${project.build.directory}</targetPath> </resource> <resource> <directory>${basedir}/src/main/resources</directory> </resource> </resources>
-
启动构建项目,第一次构建会拉代码,可能会有问题,根据日志报错信息一步步排查解决;文章来源地址https://www.toymoban.com/news/detail-849159.html
搭建前台vue项目
- 基本和构建maven项目差不多,不过第一步需要选择自由风格的构建方式
- 配置git
- 配置nodeJs
- 同样的shell脚本,然后vue需要基于nginx镜像构建新的镜像;
- 在离线的情况下,需要在外网的环境下
npm install
一下生成node_modules
包,然后将其打包发送到内网服务器上,先构建一次服务,这个时候会失败,但是第一次会将代码拉到本地,这个时候将node_modules
放到项目的根目录,重新构建就可以了,项目会放在jenkins_home目录下/var/jenkins_home/workspace/xxx/
到了这里,关于Jenkins自动化部署搭建流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!