Jenkins自动化部署搭建流程

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插件准备

  1. 启动jenkins后按照页面提示使用docker logs jenkins即可看到登录密码

  2. 插件下载选择默认的就行,离线情况下可以跳过安装,后续通过 jenkins官网插件下载地址 jenkins插件离线下载 手动下载插件进行安装,不过这个需要注意的是,许多插件有依赖项,如果多的话,就很难受 比如这个,依赖的插件里面还依赖了别的插件,所以这种方式不推荐;
    在这里插入图片描述

  3. 如果是有网络的情况下,直接在jenkins上下载就行了,如果是内网环境,就在有外网的机子上装一个,把需要的插件都下载好,然后直接打包传到内网替换掉宿主机/docker/jenkins 目录下的plugins目录(映射到jenkins容器的),然后docker restart jenkins 重启jenkins容器就好了,强烈推荐

  4. 一般下载插件 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项目

  1. 首页点击新建任务,然后选择构建maven项目

    在这里插入图片描述

  2. 配置git

    在这里插入图片描述

  3. 配置maven构建命令

    在这里插入图片描述

  4. 配置构建脚本
    在这里插入图片描述

    # 先删除之前的容器和镜像文件
    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 的根目录中

     <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>
    
  5. 启动构建项目,第一次构建会拉代码,可能会有问题,根据日志报错信息一步步排查解决;

搭建前台vue项目

  1. 基本和构建maven项目差不多,不过第一步需要选择自由风格的构建方式
  2. 配置git
  3. 配置nodeJs
  4. 同样的shell脚本,然后vue需要基于nginx镜像构建新的镜像;
  5. 在离线的情况下,需要在外网的环境下npm install一下生成node_modules包,然后将其打包发送到内网服务器上,先构建一次服务,这个时候会失败,但是第一次会将代码拉到本地,这个时候将node_modules 放到项目的根目录,重新构建就可以了,项目会放在jenkins_home目录下/var/jenkins_home/workspace/xxx/
  • 31
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值