环境搭建|第二篇:Docker+Jenkins实现自动化部署

it2022-05-11  58

目录

1.前言2.系统环境2.docker 安装jenkins3.jenkins配置4.jenkins插件安装5.配置项目6.常见问题

1.前言

一直想写一个系列,将平时工作中使用的环境、技术都写进同一系列中,目的主要使自己知识成体系,初步规划内容有《Docker+Nexus搭建Maven私服》、《Docker+Jenkins实现自动化部署》、《Springcloud系列》、《k8s服务编排》,后续可能还会有新的动西加入,涉及的动西比较多,时间会比较长,希望自己能坚持写完。


2.系统环境

1.环境搭建均使用Docker安装,故需要Docker相关知识,对于Docker不熟悉的童鞋可参见我的另一篇文章Docker学习笔记之基础知识 2.以下ip非腾讯云真实ip,大家根据自己实际情况填写,此处只是方便后续使用

环境版本腾讯云系统centos7ip192.168.1.100Docker18.09.6jenkinsci/blueoceanlatest

2.docker 安装jenkins

以下涉及docker基本操作 1.docker pull:指从docker仓库拉取jenkins镜像 2.docker run:指启动jenkins镜像

# 拉取镜像 $ docker pull jenkinsci/blueocean # 启动镜像 $ docker run -d --name jenkins -p 8080:8080 -p 8010:8010 -p 50000:50000 -v /home/milk/docker/jenkins_home:/var/jenkins_home ba607c18aeb7

3.jenkins配置

jenkins安装完成后,浏览器键入http://192.168.1.100:8080看到如下界面表示jenkins安装完成

解锁jenkins

根据下边显示地址找到密码cat /var/jenkins_home/secrets/initialAdminPassword

预装插件

建议选择左边推荐插件

创建账户

设置登录账户名及密码

4.jenkins插件安装

修改jenkins下载插件路径

1.进入挂载的jenkins本地路径 :cd /home/milk/docker/jenkins_home 2.修改文件hudson.model.UpdateCenter.xml,将url改为如下网址即可

<sites> <site> <id>default</id> <url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url> </site> </sites> 自定义插件安装

根据自己需要安装插件,此处只安装本将演示所需插件,后需若有需求会继续更新至此处 1.安装 Maven Integration 2.安装 Git Parameter Plug-In

安装jdk

系统管理->系统设置 1.进入docker中的jenkins查看jdk位置 $ docker exec -it e179907190b9 /bin/bash 2.查看jdk位置 $ echo $JAVA_HOME

安装maven

1.配置maven路径,提前将下载好的maven放至挂载路径下 2.进入docker中jenkins_home文件夹中的maven所在处 3.pwd显示当前路径,将该路径填至下书第二个箭头即个,下书第一个箭头的name可自行定义

配置全局settings.xml

settings.xml位置为上述配置的maven路径下的conf文件夹中,在此settings.xml文件中可修改maven仓库路径

5.配置项目

新建项目

说明:必须安装上述插件项中的Maven Integration 才会现下述的"构建一个Maven项目"选项

配置参数化构建

配置此参数后,在后续构建时,可会弹出选择构建那一个分支

配置git

1.填入项目地址 2.配置git账户名及密码,比较简单,就不截图展示了

配置执行maven命令

配置构建时执行的命令

配置执行脚本

配置此脚本后,在上述项目打包完成后执行此脚本

#!/bin/bash #服务名称 SERVER_NAME=stock-server # 源jar路径,mvn打包完成之后,target目录下的jar包名称,也可选择成为war包,war包可移动到Tomcat的webapps目录下运行,这里使用jar包,用java -jar 命令执行 JAR_NAME=stock-server-1.0-SNAPSHOT # 源jar路径 #/usr/local/jenkins_home/workspace--->jenkins 工作目录 #demo 项目目录 #target 打包生成jar包的目录 JAR_PATH=/var/jenkins_home/workspace/stock-server/target # 打包完成之后,把jar包移动到运行jar包的目录 JAR_WORK_PATH=/var/jenkins_home/wk_path echo "查询进程id-->$SERVER_NAME" PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $2}'` echo "得到进程ID:$PID" echo "结束进程" for id in $PID do kill -9 $id echo "killed $id" done kill -9 8088 echo "结束进程完成" #复制jar包到执行目录 echo "复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH" cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH echo "复制jar包完成" cd $JAR_WORK_PATH #修改文件权限 chmod 777 $JAR_NAME.jar nohup java -Dhudson.util.ProcessTree.disable=true -jar $JAR_NAME.jar

6.常见问题

启动时报无权限写入文件 Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?

解决: 1.给挂载文件夹的权限设置为jenkins,本文挂载地址为/home/milk/docker/jenkins_home,即执行命令chown -R 1000:1000 jenkins_home 2.查看selinux状态:sestatus 3.关闭selinux 3.1:临时关闭:setenforce 0 3.2:永久关闭:vim /etc/selinux/config,将selinux设置为disable

创建项目成功后,修改了全局配置,需重新配置创建好的项目

最新回复(0)