Jenkins+Ansible自动化部署工具 Jenkins安装部署 1.下载安装 在指定文件夹安装一个Tomcat,然后进入tomcat的webapp目录下,直接将jenkins.war部署进来,或者下载进来 #wget http://mirrors.jenkins-ci.org/war/latest/jenkins.war 2.设置Jekins环境变量设置 #sudo vi /etc/profile 在最后面加上这一句 export JENKINS_HOME=/data/program/tomcat/webapps/Jenkins(jnekins的安装路径) #. /etc/profile #使配置文件生效 3.修改tomcat端口号 #vi /usr/local/apache-tomcat/conf/server.xml <Connector port="8083" protocol="HTTP/1.1"connectionTimeout="20000" redirectPort="8443" /> 保证端口号不冲突 4. 重启tomcat,进入tomcat的安装目录下的bin目录 #./startup.sh tomcat会解压war包,生成一个jenkins文件夹,而且会在root目录下生成一个.jenkins的文件夹 5.Jenkins 验证。在浏览器里,输入网址:http://ip:port/jenkins 6.输入密码 在文件里找到密码,并且登录。
7.安装插件,选择安装推荐的插件 如果下载插件很慢可先不安装,登录后。修改配置文件 #cd 安装的tomcat/webapps/Jenkins/updates/ # sed -i 's#http://updates.jekins-ci.org/download#https://mirrors.tuna.tsinghua.edu.cn/jenkins#g' default.json && sed -i '#/http://www.google.com#https://www.baidu.com#g' default.json 然后修改Update Site的值为https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json,然后点击Submit按钮http://ip:port/ restart
然后就会自动下载
下载完后会创建管理员账户
安装完成,运行截图
可以下载汉化插件,使菜单栏变成变成中文 在插件搜索里搜索
|
Ansible安装部署 前提:要安装ansible系统中必须要安装python的版本在2.7及以上。 1. Ansible是属于Extra Packages for Enterprise Linux (EPEL)库的一部分,因此要先安装EPEL #yum install epel-release 2. 直接安装ansible,目前默认安装的版本是2.2,官方持续在更新 #yum install ansible 3. 修改ansible配置和主机列表hosts: 1)关闭第一次使用ansible连接客户端时输入命令提示: #sed -I "s@\#host_key_checking = False@host_key_checking =False@g" /etc/ansible/ansible.cfg 指定日志路径: #sed -i "s@\#log_path = \/var\/log\/ansible.log@log_path = \/var\/log\/ansible.log@g" /etc/ansible/ansible.cfg 2)将所有主机ip加入到/etc/ansible/hosts文件中:
默认ssh的端口为22端口,如果为其他端口号,可在主机名后面加上端口号,如 192.168.159.131:9604 ,也可以修改配置文件中的remote_port变量值 /etc/ansible/hosts也可以定义一个主机范围,如192.168.159.[100:200] ,表示192.168.159.100 - 192.168.159.200 的主机 4. 创建和配置 SSH 公钥认证(免密码登录) #ssh-keygen -t rsa 按提示使用默认配置一路回车即可:
5.通过ansible将公钥分发至各主机上: #ansible all -m authorized_key -a "user=root key='{{ lookup('file', '/root/.ssh/id_rsa.pub') }}' path=/root/.ssh/authorized_keys manage_dir=no" --ask-pass -c paramiko
需要输入主机的密码,若是有的主机密码不一致,那么该主机会分发失败,此时只需再执行一遍命令输入该主机密码即可。或者先将密码相同的主机进行分组,然后依次指定主机组执行命令分批分发公钥。 此命令是通过追加的方式来推送公钥至authorized_keys,所以不用担心原来的文件内容会被覆盖。 到任意一台主机上查看,可以看到公钥已成功推送:
6. 修改ansible配置,指定私钥文件路径: #sed -i "s@\#private_key_file = \/path\/to\/file@private_key_file = \/root\/.ssh\/id_rsa@g" /etc/ansible/ansible.cfg 7. 测试: #ansible all -m ping
可以在命令后面加上-vvvv参数查看详细的输出结果,尤其是在命令执行失败需要排错的时候非常有用。 |