Gitlab_ansible_jenkins三剑客⑥Jenkins和ansible集成
|
ip |
角色 |
备注 |
|
10.11.0.215 |
jenkins服务器 |
通过deploy运行jenkins服务,deploy用户做了免秘钥登录ansible服务器 |
|
10.11.0.210 |
ansible服务器 |
通过deploy执行ansible服务,做了免秘钥登录test主机 |
|
10.11.0.212 |
需要被ansible控制的主机 |
环境准备:
- 搭建ansible服务环境,参考前面章节
- Ansible和10.11.0.212做免密码登录
- Jenkins和ansible服务做免秘钥登录
整理的逻辑:
Jenkins –> 远程调用ansible上的testansible.sh脚本 -->test.example终端机
Jenkins的配置,执行脚本
# 通过jenkins服务器调用ansible(10.11.0.210)上的脚本执行ansible任务
#!/bin/sh
source /etc/profile
ssh deploy@10.11.0.210 "/usr/sbin/ip a"
ssh deploy@10.11.0.210 "ls"
ssh deploy@10.11.0.210 "/bin/sh testansible.sh"

Testansible.sh脚本
[deploy@node1 ~]$ cat testansible.sh
#!/bin/sh
set +x
source /home/deploy/.py3-a2.5-env/bin/activate
source /home/deploy/.py3-a2.5-env/ansible/hacking/env-setup -q
cd /home/deploy
ansible --version
ansible-playbook --version
cat test servers
ansible -i testservers testserver -m command -a "ip addr"
set -x


备注:
由于ansible和jenkins没有部署在同一台服务器中,为了方便就把jenkins挪到了ansible中(因为ansible部署比较麻烦,jenkins简单)
实际生产环境中不建议 gitlab/jenkins/ansible部署在一台机器中
可以将gitlab单独一台机器
jenkins和ansible公用一台机器
主要步骤:
1.在目标服务器中安装java环境
2.拷贝jenkins相关的程序即 /usr/local/tomcat 到目标服务器目录下,解压并赋权 chown -R deploy.deploy /usr/local/apache-tomcat-8.5.39
3.拷贝运行jenkins的用户配置到目标服务器下:/home/deploy/.jenkins目录
由于里面集成了gitlab,原来tomcat的8080口被gitlab占用,修改tomcat端口为8090
直接访问 10.11.0.210:8090/jenkins 就可以正常访问jenkins了
Gitlab_ansible_jenkins三剑客⑥Jenkins和ansible集成的更多相关文章
- Gitlab_ansible_jenkins三剑客⑤jenkins Pipeline-job的使用
Pipeline-job的使用 创建Pipeline任务 找到root用户的id 编写pipeline脚本 #!groovy pipeline{ agent {node {label 'master' ...
- Gitlab_ansible_jenkins三剑客④jenkins安装图解及freestyle的简单使用
java环境准备 # 安装jdk1.8 [root@node02 ~]# rpm -ivh jdk-8u181-linux-x64.rpm vim /etc/profile export JAVA_H ...
- jenkins结合ansible用shell实现自动化部署和回滚
最近用jenkins+gitlab+ansible做持续化集成,自动化部署和版本回滚.然而deploy plugin没能做到增量升级和回滚操作,折腾了很久决定自己写个脚本来简单实现. 环境: cent ...
- jenkins + supervisor + ansible 实现netcore程序的多机一键部署
上一篇我们简单的说到了使用jenkins+supervisor实现了一个单机版的多副本部署,但是在更多的场景下还是需要netcore程序的多机一键部署,那么多 机器间如何分发呢? 肯定不能使用scp这 ...
- Jenkins+Gitlab+Ansible自动化部署(五)
Freestyle Job实现静态网站部署交付(接Jenkins+Gitlab+Ansible自动化部署(四)https://www.cnblogs.com/zd520pyx1314/p/102445 ...
- Jenkins+Gitlab+Ansible自动化部署(六)
Pipeline Job实现Nginix+MySQL+PHP+Wordpress实现自动化部署交付(Jenkins+Gitlab+Ansible自动化部署(五)https://www.cnblogs. ...
- Jenkins+Gitlab+Ansible自动化部署(三)
接Jenkins+Gitlab+Ansible自动化部署(一)https://www.cnblogs.com/zd520pyx1314/p/10210727.html 和(二)https://www. ...
- Jenkins+Gitlab+Ansible自动化部署(四)
接Jenkins+Gitlab+Ansible自动化部署(三)https://www.cnblogs.com/zd520pyx1314/p/10235394.html Jenkins应用 Jenkin ...
- [ jenkins ] git+jenkins+maven + ansible 部署java程序
1. 工具介绍 git:版本控制,一般都是托管到代码仓库的.如 github.coding.gitlab (本文以 coding 为例) jenkins:持续集成工具之一,也是最常用的工具,主要工作就 ...
随机推荐
- SSM(Spring + Springmvc + Mybatis)框架面试题
JAVA SSM框架基础面试题https://blog.csdn.net/qq_39031310/article/details/83050192 SSM(Spring + Springmvc + M ...
- 洛谷 P1962 斐波那契数列
题目链接:https://www.luogu.org/problemnew/show/P1962 题目大意: 略 分析: 由于数据规模很大,需要用矩阵快速幂来解. 代码如下: #pragma GCC ...
- VUE如何实现切换页面时的过渡动画?
最近再写页面的时候,感觉页面之间的切换有点生硬,所以查了一下文档看见了transition这个组建,很实用,故此在这里跟大家分享一下 --------------------------------- ...
- React笔记:组件(3)
1. 组件定义 组件是React的核心概念,组件将应用的UI拆分成独立的.可复用的模块. 定义组件的两种方式: (1)类组件:使用ES6 class (2)函数组件:使用函数 使用class定义组件的 ...
- gogs git代码管理
Gogs 是一个基于 Go语言的开源的 Git 服务端.非常轻量,安装也很简单.官网https://gogs.io/docs/installation/install_from_binary 下载后解 ...
- Luogu4494 [HAOI2018]反色游戏 【割顶】
首先发现对于一个联通块有奇数个黑点,那么总体来说答案无解.这个很容易想,因为对每个边进行操作会同时改变两个点的颜色,异或值不变. 然后一个朴素的想法是写出异或方程进行高斯消元. 可以发现高斯消元的过程 ...
- DRF 商城项目 - 用户( 登录, 注册,登出,个人中心 ) 逻辑梳理
用户登录 自定义用户登录字段处理 用户的登录时通过 手机号也可以进行登录 需要重写登录验证逻辑 from django.contrib.auth.backends import ModelBacken ...
- Mac 使用 OpenMP/Clang
新建 hello.cpp 文件: #include <omp.h> #include <stdio.h> int main() { #pragma omp parallel p ...
- python学习日记(包——package)
简述——包 包是一种通过使用‘.模块名’来组织python模块名称空间的方式. 注意: 1. 无论是import形式还是from...import形式,凡是在导入语句中(而不是在使用时)遇到带点的,都 ...
- Java 8 特性 —— lambda 表达式
Lambda 表达式 Lambda表达式本质上是一个匿名方法.常见的一个例子是,在 IDEA + JDK8 的环境下按照Java传统的语法规则编写一个线程: new Thread(new Runnab ...