美文网首页
基于参数化选择gitlab代码分支或者标签进行构建

基于参数化选择gitlab代码分支或者标签进行构建

作者: Oooyzx | 来源:发表于2019-11-19 09:17 被阅读0次

背景基于:jenkins配置docker联合项目的CICD
前项目只部署了一台web服务器即cmdb,此次需要两个web服务器,所以,在前项目上做如下改动:

在jenkins容器中安装ansible

由于该项目的jenkins容器是alpine高山版本,所以,可直接用apk添加

apk add ansible
改写宿主机中docker-compose.yaml文件

注意:改写前先停掉服务docker-compose stop

  • 将ports改为expose,不指定哪台cmdb,避免端口冲突
  • container_name关闭,让默认生成
    image.png
  • 改写完后再启动 docker-compose up --scale cmdb=2

注意:此处启动时指定了使用两个cmdb

image.png
在新生成的两个cmdb容器上配置ssh

ssh-keygen生成密钥对

image.png
ssh-keygen -A 生成系统密钥
image.png
/usr/sbin/sshd 打开22端口
passwd 设置密码
image.png
在jenkins的容器上建立免密
  • 避免出现cmdb密钥重复,可先清空known_hosts中已有的密钥
  > ~/.ssh/known_hosts 
  • 建立免密:
ssh-copy-id root@auto-cmdb_cmdb_1
ssh-copy-id root@auto-cmdb_cmdb_2
image.png
  • 查看/root/.ssh/known_hosts,可发现此时已添加成功
    image.png
在jenkins的容器上创建一个/etc/ansible/下的hosts文件
bash-4.4# vi /etc/ansible/hosts 
[prod]
auto-cmdb_cmdb_1

[prod:vars]
name=prod-oyzx

[dev]
auto-cmdb_cmdb_2

[test]
127.0.0.1

[dev:vars]
name=dev-user
port=2222

在gitlab项目上创建分支

image.png image.png

在Jenkins中创建一个自由风格的任务:

1. 添加描述信息
添加描述信息.png
2.选择参数化构建过程

Name:事件名称
Description:添加描述信息,加以区分不同参数事件
Parameter Type:选择以分支或标签进行构建(此处以分支为例)

image.png
3.添加一个选项参数模块

在执行时会出现一个下拉选项,可选择自定义选项的内容

选项参数
4.再添加一个文本参数

在执行时会出现一个文本框,可自定义文本参数的默认值


image.png
5.源码管理,配置git仓库

Repository URL:gitlab的ssh链接
注意:@后面写的时gitlab容器的镜像名
添加全局配置:同前一篇文章jenkins配置docker联合项目的CICD

image.png image.png
6.构建触发器和构建环境

此处只为测试参数化构建,所以未使用,若有需要,请根据需求自定义添加


image.png
7. 构建一: 添加shell模块

根据上文定义的参数变量,可自定义shell内容,此处便于观看,echo打印了相应参数

echo "本次构建的版本是 ${build_version}"
echo "本次选择的 gitlab 分支是 ${branch_name}"
echo "本次选择部署的主机组是 ${deploy_hosts}"
image.png
8. 构建二:添加Invoke Ansible Ad-Hoc Command模块
image.png
Host pattern:添加主机组
Inventory:添加资产清单,需指定host文件在jenkins容器的具体目录
Module:指定ansible执行模块,此处用的debug模块
Module arguments or command to execute:等价于ansible命令中-a 后面的具体命令操作
image.png

写完任务配置内容后,保存然后点击参数构建Build with Parameters,填入相应信息

image.png

可在控制台输出查看输出结果,如下:


image.png image.png

可在输出信息中下端看见echo信息:


image.png

以上就是基于参数化选择gitlab代码分支或者标签进行构建的全部内容,如有疑问或漏洞,还请见谅,欢迎私信我嗷,嘻嘻~~

相关文章

  • 基于参数化选择gitlab代码分支或者标签进行构建

    背景基于:jenkins配置docker联合项目的CICD前项目只部署了一台web服务器即cmdb,此次需要两个w...

  • 自动化发布平台

    Gitlab 代码仓库 SonarQube 代码静态检查 Jenkins 多环境参数化构建入口(蓝鲸) Docke...

  • Jenkins-Pipeline使用示例

    示例说明 选择分支或者Tag,拉取代码进行构建 打包镜像(使用maven-dockerfile-plugin) 推...

  • DevOps之CI、CD入门操作

    基于Jenkins拉取GitLab的SpringBoot代码进行构建发布到测试环境实现持续集成 基于Jenkins...

  • Jenkins构建-CI/CD实现

    一、参数化构建 1、我们实现的构建是gitlab更新代码就获取构建,但有时候版本不对,需要指定某个tag版本构建,...

  • jenkins 根据gitlab分支进行构建

    Jenkins结合gitlab,进行某个分支的自动构建 首先安装gitlab插件配置好gitlab插件点击高级-选...

  • GitLab的CI自动编译

    使用gitlab进行代码版本管理时,希望能够在将本地代码push到远程分支的时候或者在将远程分支请求合并到mast...

  • docker-cicd之参数部署

    在新建任务中进行配置 gitlab配置进行分支选择 文本配置这里是版本配置 配置参数还有很多 源码配置 和之前配置...

  • jenkins构建:参数化构建

    参数化构建 有时候我们构建需要传参,那么构建需要选择参数化构建选项。常用参数化类型:字符参数,选项参数,git参数...

  • Jenkins参数化构建

    jenkins选择Git分支构建 插件Git Parameter :可选分支或者Tag构建

网友评论

      本文标题:基于参数化选择gitlab代码分支或者标签进行构建

      本文链接:https://www.haomeiwen.com/subject/dlxiictx.html