Jenkins部署Jenkins

Posted linux丝绸之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins部署Jenkins相关的知识,希望对你有一定的参考价值。

经过上期和大家分享如何搭建mysql,相信大家感受到了ansible的强大,今天我们讲如何使用jenkins+ansible部署jenkins这个软件,相信大家通过上一期的内容也可以自己写一个搭建jenkis的role,本次分享的目的是让大家多熟悉一下ansible的各个模块的不同使用方式,不同的思维方式就会出现不同的role。

jenkins role的目录结构如下:

|-- README.md
|-- defaults
|   `-- main.yml
|-- files
|   `-- soft
|       |-- apache-tomcat-7.0.73.tar.gz
|       |-- env.sh
|       |-- jdk-7u80-linux-x64.tar.gz
|       `-- jenkins-2.41.1.war
|-- handlers
|   `-- main.yml
|-- meta
|   `-- main.yml
|-- tasks
|   `-- main.yml
|-- tests
|   |-- inventory
|   `-- test.yml
`-- vars
    `-- main.yml
8 directories, 12 files


下面分享具体部署的脚本内容:


#将jdk安装路径加入全局环境变量

env.sh

#!/bin/bash
sed -i '$a\\n#jdk\nexport JAVA_HOME=/modules/jdk1.7.0_80\nexport PATH=$JAVA_HOME/bin:$PATH\nexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' /etc/profile
source /etc/profile


task/main.yml

---

#创建/modules目录,存放jdk
- name: mkdir jdk
  file: path=/modules/ state=directory
  tags:
    - mkdir_jdk
#将jdk包解压到/modules目录下
- name: cp jdk
  unarchive: src=soft/{{ item }} dest=/modules/
  with_items:
    - jdk-7u80-linux-x64.tar.gz
  tags:
    - cp_jdk
#使用脚本将jdk加入环境变量并生效
- name: env jdk
  script: soft/env.sh
  tags:
    - env_jdk
#将tomcat包解压到/usr/local目录下
- name: cp tomcat
  unarchive: src=soft/{{ item }} dest=/usr/local/
  with_items:
    - apache-tomcat-{{ tomcat_version }}.tar.gz
  tags:
    - cp_tomcat
#将解压后的tomcat重命名为jenkins-tomcat7
- name: mv tomcat
  command: mv /usr/local/apache-tomcat-{{ tomcat_version }} /usr/local/jenkins-tomcat7
  tags:
    - mv_tomcat
#将jenkins war包复制到jenkins-tomcat7/webapps目录下
- name: cp jenkins
  copy: src=soft/jenkins-{{ jenkins_version }}.war dest=/usr/local/jenkins-tomcat7/webapps/
  tags:
    - cp_jenkins
#添加jenkins用户
- name: add jenkins user
  user: name=jenkins
  tags:
    - add_jenkinsuser
#将目录所属权限修改为jenkins用户
- name: chown jenkins
  command: chown -R jenkins:jenkins /usr/local/jenkins-tomcat7
  tags:
    - chown_jenkins



部署完成后,登录主机去启动tomcat即可,这里没有做成部署后启动是因为jenkins启动时会将密码打印到log里面,如果有需求部署后自动启动,请根据这两期分享的内容去尝试添加一个tag即可。






以上是关于Jenkins部署Jenkins的主要内容,如果未能解决你的问题,请参考以下文章

JenkinsJenkins在CentOS和k8s(minikube)上的部署记录

JenkinsJenkins入门教程

JenkinsJenkins如何构建执行定时任务

Jenkins部署笔记

Jenkins部署

Docker 安装 Jenkins