Jenkins+Ansible安装部署
一、环境说明
操作系统:centos 7.5 x86_64
JAVA版本:jdk-8u181
Jenkins版本:jenkins-2.134
Ansible版本:ansible-2.3.3.0
二、配置前准备
# systemctl disable firewalld.service # systemctl stop firewalld.service # sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config # setenforce 0 # hostnamectl --static set-hostname jenkins-ansible
三、安装Jenkins
1.配置JAVA环境变量
# tar -zxvf jdk-8u181-linux-x64.tar.gz -C /opt # cat > /etc/profile.d/jdk.sh <<EOF # Java environment configuratione export JAVA_HOME=/opt/jdk1.8.0_181 export JAVA_BIN=/opt/jdk1.8.0_181/bin export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME JAVA_BIN PATH CLASSPATH EOF # source /etc/profile.d/jdk.sh
2.添加jenkins源并安装
# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key # yum -y install jenkins
配置java配置文件
# vi /etc/sysconfig/jenkins JENKINS_JAVA_CMD="/opt/jdk1.8.0_181/bin/java" 修改默认端口号: JENKINS_PORT="8888" 不可改为1024以下端口
注:jenkins工作的目录,储存文件的地址,插件,生成的文件都在这个目录下JENKINS_HOME="/var/lib/jenkins",jenkins的用户,拥有$JENKINS_HOME和/var/log/jenkins的权限
3.启动jenkins
# systemctl daemon-reload
# systemctl enable jenkins
# systemctl start jenkins
# systemctl status jenkins
4.安装git、maven、gradle
安装git
yum -y install git
# unzip gradle-4.6-all.zip # vi /etc/profile.d/gradle.sh # Gradle environment configuratione export GRADLE_HOME=/opt/gradle-4.6 export GRADLE_BIN=/opt/gradle-4.6/bin export PATH=$PATH:$GRADLE_HOME/bin export CLASSPATH=.:$GRADLE_HOME/lib # source /etc/profile.d/gradle.sh # gradle -v
# tar -zxvf apache-maven-3.5.2-bin.tar.gz # mv apache-maven-3.5.2-bin /opt/maven3.5.2 # vi /etc/profile.d/maven.sh # Maven environment configuratione export M2_HOME=/opt/maven3.5.2 export PATH=$M2_HOME/bin:${PATH} # source /etc/profile.d/maven.sh # mvn -version
四、安装Ansible
1.安装依赖包
yum install zlib-devel bzip2-devel openssl-devel gcc python-devel
# unzip setuptools-38.5.1.zip # cd setuptools-38.5.1 # python setup.py install
# tar -zxvf pycrypto-2.6.1.tar.gz # cd pycrypto-2.6.1 # python setup.py install
4.安装pyyaml模块
访问http://pyyaml.org/download/libyaml下载yaml # tar -zxvf yaml-0.1.7.tar.gz # cd yaml-0.1.7 # ./configure --prefix=/usr/local # make --jobs=`grep processor /proc/cpuinfo | wc -l` #设置为多核工作模式 # make install 访问https://pypi.python.org/pypi/PyYAML下载PyYAML # tar -zxvf PyYAML-3.12.tar.gz # cd PyYAML-3.12 # python setup.py install
5.安装Jinja2模块
访问https://pypi.python.org/pypi/MarkupSafe下载MarkupSafe # tar -zxvf MarkupSafe-1.0.tar.gz # cd MarkupSafe-1.0 # python setup.py install 访问https://pypi.python.org/pypi/Jinja2下载Jinja2 # tar -zxvf Jinja2-2.10.ta.gz # cd Jinja2-2.10 # python setup.py install
6.安装paramiko模块
访问https://pypi.python.org/pypi/ecdsa/下载ecdsa # tar -zxvf ecdsa-0.13.tar.gz # cd ecdsa-0.13 # python setup.py install 访问https://pypi.python.org/pypi/paramiko下paramiko # tar -zxvf paramiko-2.4.0.tar.gz # cd paramiko-2.4.0 # python setup.py install
# tar -zxvf simplejson-3.13.2.tar.gz # cd simplejson-3.13.2 # python setup.py install
# mkdir /etc/ansible # tar -zxvf ansible-2.3.3.0.tar.gz # cd ansible-2.3.3.0 # python setup.py install # cp -r examples/* /etc/ansible/
9.配置ansible环境变量
# cat > /etc/profile.d/ansible.sh <<EOF # Ansible environment configuratione export PATH=$ANSIBLE_HOME/bin:${PATH} EOF
测试是否安装成功
# ansible --version
# ansible-doc -l
注:jenkins建议在tomcat中使用utf-8编码,配置tomcat下conf目录的server.xml文件
<Connector port="8080" URIEncoding="UTF-8" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
如果Job的控制台中文输出乱码,请将URIEncoding=”utf-8”更改为useBodyEncodingForURI="true"
少壮不努力,老大干IT。
一入运维深似海,从此不见彼岸花。