Jenkins部署 服务规划
部署服务
程序路径/数据目录
访问地址
帐号口令
jdk
/usr/local/java/jdk1.8.0_251
maven
/usr/local/apache-maven-3.6.3
jenkins
/data/jenkins
3.1.101.36:8080
Docker镜像 1 docker pull jenkinsci/blueocean:1.24.4
镜像导出命令
1 docker save jenkinsci/blueocean:1.24.4 -o docker-jenkins-2.26.3.tar
镜像导入命令
1 docker load -i docker-jenkins-2.26.3.tar
JDK环境部署 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ## 解压到指定位置 mkdir -pv /usr/java/java1.8 tar -zxf jdk-8u271-linux-x64.tar.gz -C /usr/java/java1.8/ ## 配置环境变量 cat > /etc/profile.d/java.sh << 'EOF' #JAVA JAVA_HOME=/usr/java/java1.8/jdk1.8.0_271 JRE_HOME=/usr/java/java1.8/jdk1.8.0_271/jre CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH export JAVA_HOME JRE_HOME CLASSPATH PATH EOF chmod 777 /etc/profile.d/java.sh ## 生效环境 source /etc/profile
验证
1 2 3 4 java -version java version "1.8.0_271" Java(TM) SE Runtime Environment (build 1.8.0_271-b08) Java HotSpot(TM) 64-Bit Server VM (build 25.271-b08, mixed mode)
MAVEN环境部署 1 2 tar -zxf apache-maven-3.6.3-bin.tar.gz mv apache-maven-3.6.3 /usr/local/
配置JAVA环境变量 1 2 3 4 5 6 7 8 9 cat > /etc/profile.d/M3.sh << 'EOF' #MAVEN MAVEN_HOME=/usr/local/apache-maven-3.6.3 PATH=$MAVEN_HOME/bin:$PATH export MAVEN_HOME PATH EOF chmod 777 /etc/profile.d/M3.sh source /etc/profile
验证
1 2 3 4 5 6 7 mvn -version 输出如下,maven环境生效 Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: /usr/local/apache-maven-3.6.3 Java version: 1.8.0_251, vendor: Oracle Corporation, runtime: /usr/local/java/jdk1.8.0_251/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-1127.el7.x86_64", arch: "amd64", family: "unix"
创建数据目录 1 2 mkdir -pv /data/jenkins/jenkins_home mkdir -pv /data/docker-compose/jenkins
Docker-compose编排 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 cat > /data/docker-compose/jenkins/docker-compose.yml << EOF version: "3" services: jenkins: container_name: jenkins image: jenkinsci/blueocean:1.25.0 hostname: jenkins restart: always user: root ports: - 8080 :8080 - 50000 :50000 volumes: - /data/jenkins/jenkins_home:/var/jenkins_home - /etc/localtime:/etc/localtime - /var/run/docker.sock:/var/run/docker.sock - /usr/bin/docker:/usr/bin/docker - /usr/local/apache-maven-3.6.3:/usr/local/apache-maven3 - /usr/java/java1.8/jdk1.8.0_271:/usr/java/java1.8/jdk1.8.0_271 deploy: resources: limits: memory: 4G reservations: memory: 4G EOF
替换jenkins数据 将jenkins-data.tar.gz解压内容放到jenkins_home目录下,重启jenkins
注意事项
如果需要docker命令,如docker构建,就需要把宿主机的/var/run/docker.sock和/usr/bin/docker映射到容器中去
如果外网模式下下载插件,执行如下步骤能加快速度
更换jenkins插件源: 插件管理->高级设置
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
更换下载地址
1 2 cd /data/jenkins/jenkins_home/updatessed -i 's#https://updates.jenkins.io/download#https://mirrors.tuna.tsinghua.edu.cn/jenkins#g' default.json && sed -i 's#http://www.google.com#https://www.baidu.com#g' default.json
重启jenkins
1 docker-compose restart jenkins
jenkins常用插件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 插件源地址 https://updates.jenkins.io/update-center.json https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json ## 基础插件 //中文插件 Chinese (Simplified) // pipeline阶段视图 Pipeline Stage View //LDAP集中用户管理 LDAP Plugin //工作区清理 Workspace Cleanup //角色权限管理 Role-based Authorization Authorize Project //凭证管理 Credentials Binding //配置文件管理 Config File Provider //右键发送 Email Extension //通过SSH方式管理节点 SSH Build Agents SSH Agent ## 任务相关插件 //扩展参数插件 Extended Choice Active Choice Parameter Dynamic Extended Choice ParameterVersion //流水线插件管理 Pipeline //git插件 Git Plugin GitLab //Git Parameter插件(构建时可选分支和tag) Git Parameter //获取harbor镜像标签 Image Tag Parameter //Maven插件 Maven Integration Pipeline Maven Integration //SonarQube插件 SonarQube Scanner //K8S相关插件 Kubernetes Kubernetes Continuous Deploy //部署推送插件 Deploy WebLogic Deploy to container //远程部署 Publish Over SSH