Jenkins+Ansible自动化部署工具

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参数查看详细的输出结果,尤其是在命令执行失败需要排错的时候非常有用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JenkinsAnsible是两个广泛使用的自动化工具,可以帮助简化软件开发和部署过程。 Jenkins是一个开源的持续集成和自动化工具,常用于编译代码、运行测试、部署软件等任务。它提供了一个易于使用的用户界面,可以通过配置和连接各种工具和插件实现自动化流程。Jenkins可以与版本控制系统(如Git)集成,可以通过定时触发或通过触发特定的事件来自动执行任务。 Ansible是一个自动化工具,用于配置管理、应用程序部署和任务执行。它采用基于SSH的无需客户端的架构,可以通过编写简单的YAML文件来描述服务器的配置和应用的部署Ansible可以在本地或远程执行任务,并可以轻松地进行水平扩展。 结合JenkinsAnsible可以实现更高效和灵活的自动化部署流程。可以将Jenkins用作任务调度和流程控制的中心,通过Jenkins的插件支持,与Ansible进行集成。通过在Jenkins中配置Ansible插件,可以直接在Jenkins上运行Ansible Playbook,并灵活地控制各个部署和配置任务。 使用JenkinsAnsible可以实现以下功能: 1. 通过Jenkins触发自动化部署任务,对软件进行编译、测试和打包。 2. 使用Jenkins上的用户界面配置Ansible的执行环境和主机清单。 3. 创建和管理Ansible Playbook来描述服务器的配置和应用的部署过程。 4. 在Jenkins中通过添加Ansible插件来执行Ansible Playbook,自动部署软件和配置环境。 5. 通过Jenkins的日志和报告功能,可以方便地查看和分析部署过程中的问题和错误。 总之,JenkinsAnsible的结合可以大大简化软件开发和部署过程,提高工作效率和软件质量。不仅可以实现简单的部署任务,还可以通过灵活的配置和扩展,满足不同项目和环境的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值