跳至主要內容
Ansible 使用中的一些实践

Ansible 使用中的一些实践

本地执行 记录 输出结果

样例一

cat check_app.yaml

- hosts: all
  gather_facts: no
  tasks:
    - script: port_check.sh
      register: netstat

    - shell: source /etc/profile && jps | grep -v Jps | awk '{print $2}'
      register: java

    - shell: echo {{ansible_ssh_host}} {{netstat.stdout_lines}} {{java.stdout_lines}} >> /home/clay/result.txt
      connection: local

Clay小于 1 分钟自动化工具Ansible
3.2 访问 API

3.2 访问 API

转载自:访问API | willseecloud | 看云

远程访问API

Jenkins为功能提供了机器消耗的远程访问API。目前,它具有三种风格:

  1. XML
  2. JSON with JSONP support
  3. Python

Clay大约 6 分钟自动化工具Jenkins
4.5 共享库之钉钉消息推送

4.5 共享库之钉钉消息推送

起因:执行完流水线后进行一定程度的消息推送,所以选择钉钉进行jenkins构建结构的消息推送

下载配置相关依赖插件

相关环境:

  • Jenkins 2.277.3,安装文档见上篇
  • DingTalk 插件 2.4.3
  • build user vars plugin 插件 1.7
  1. 在Jenkins中安装钉钉插件DingTalk

    ⚠️ 请确保你的 Jenkins 版本 >= 2.176.4

  2. 钉钉机器人配置,说明文档

    找到 Jenkins 首页 >> 系统管理 >> 钉钉,我的配置如下图

    image-20210426164341273

    ⚠️ ​注意手动输入机器人的id,不要自动生成,否则重启后,robot的id将发生变化

  3. 安装build user vars plugin插件,插件可能有相关版本依赖,需要重启一下 Jenkins 才能继续安装

    在流水线中,使用wrap,获取BUILD_USER变量

    wrap([$class: 'BuildUser']) {
    }
    

Clay大约 3 分钟自动化工具Jenkins
2.4 使用docker安装jenkins

2.4 使用docker安装jenkins

安装配置docker

  1. 更换yum源,如果本来就是国内源,无需更换

    curl -fsSL "https://gitee.com/clay-wangzhi/shell/raw/master/repo_replace.sh" | bash
    
  2. 安装配置Docker

    使用官方脚本安装 Docker

    curl -fsSL "https://get.docker.com/" | bash -s -- --mirror Aliyun
    

    加载br_netfilter

    modprobe br_netfilter
    

    设置下系统内核参数

    cat<<EOF > /etc/sysctl.d/docker.conf
    # 要求iptables不对bridge的数据进行处理
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    net.bridge.bridge-nf-call-arptables = 1
    # 开启转发
    net.ipv4.ip_forward = 1
    EOF
    sysctl -p /etc/sysctl.d/docker.conf
    

    ⚠️ 慎用sysctl --system命令,如果参数在不同文件中设置,会有优先级问题,目前看来/etc/sysctl.conf的优先级最高

    配置docker镜像加速器

    curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
    

    启动docker服务并加入开机自启

    systemctl enable docker && systemctl start docker
    

Clay大约 2 分钟自动化工具Jenkins
4.3 Groovy 简明教程

4.3 Groovy 简明教程

转载自:Groovy 简明教程 | 阳明的博客

最近一直有很多同学提到不会写 Jenkins Pipeline 脚本,我都是直接摔一个 Jenkins 官方文档给他们,但是当我自己仔细去查看资料的时候发现并非如此简单,无论是声明式还是脚本式的 Pipeline 都依赖了 Groovy 脚本,所以如果要很好的掌握 Pipeline 脚本的用法,我们非常有必要去了解下 Groovy 语言。


Clay大约 6 分钟自动化工具Jenkins
4.6 流水线开发工具

4.6 流水线开发工具

转载自:流水线开发工具 | 泽阳

您好,本模块主要了解在流水线中常用的方法😀


片段生成器

使用片段生成器可以根据个人需要生成方法,有些方法来源于插件,则需要先安装相关的插件才能使用哦。

images


Clay大约 1 分钟自动化工具Jenkins
2
3
4
5