gitlab+jenkins+ansible集成持续发布

2024-05-10 13:07:17

1.Gitlab安装

gitlab 10.0.1安装使用

内存最少2G否则系统安装完会502报错

安装

如想使用Postfix来发送邮件,在安装期间请选择’Internet Site’. 您也可以用sendmai或者 配置SMTP服务 使用SMTP发送邮件.

Centos 6 系统上, 下面的命令将在系统防火墙里面开放HTTP和SSH端口.

sudo yum install curl openssh-server openssh-clients postfix cronie policycoreutils-python git -y

sudo service postfix start

sudo chkconfig postfix on

sudo lokkit -s http -s ssh

添加GitLab仓库,并安装到服务器上(相对慢)

curl -sS http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh | sudo bash

sudo yum install gitlab-ce

直接下载rpm包

安装包地址

centos 6xx

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/

centos7xx

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/

汉化地址

https://gitlab.com/xhang

rpm -ivh gitlab-ce-10.0.1-ce.0.el6.x86_64.rpm

gitlab-ctl reconfigure

gitlab本身采用80端口,如安装前服务器有启用80,安装完访问会报错。需更改gitlab的默认端口。

修改vim /etc/gitlab/gitlab.rb:

external_url 'http://localhost:90'

unicorn本身采用8080端口,如果你那里没有8080使用,可以后边不用修改了。如安装前服务器有启用8080,安装完访问会报错。需更改unicorn的默认端口:

修改 /etc/gitlab/gitlab.rb:

unicorn['listen'] = '127.0.0.1'

unicorn['port'] = 3000

gitlab中文汉化

git clone https://gitlab.com/xhang/gitlab.git(下载有时候超级慢)下载相应的汉化程序

git diff v10.0.1 v10.0.1-zh > ../10.0.1-zh.diff

若以前下载的gitlab程序可以执行git pull更新到最新在执行

git diff v10.0.1 v10.0.1-zh > ../10.0.1-zh.diff

yum install patch

sudo patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < ../10.0.1-zh.diff

sudo gitlab-ctl start

sudo gitlab-ctl reconfigure

如果汉化中出现问题,请重新安装 GitLab(注意备份数据)。

2.Ansible安装

ansible

yum install epel-release -y

yum install ansible -y

创建公私钥

ssh-keygen -t rsa

导出公钥到指定控制端

ssh-copy-id -i root@192.168.253.141

编辑指定控制端,服务

vi/etc/ansible/hosts

Ansible内置了一些关于连接主机的变量,设置以下变量控制ansible与远程主机:

hosts文件内部支持的一些特定指令(inventory参数):

ansible_ssh_host:指定主机别名对应的真实IP,如:

ansible_ssh_host=183.60.41.251,随后连接该主机无须指定完整IP,只需指定251就行

ansible_ssh_port:指定连接到这个主机的ssh端口,默认22

ansible_ssh_user:连接到该主机的ssh用户

ansible_ssh_pass:连接到该主机的ssh密码(连-k选项都省了),安全考虑还是建议使用私钥或在命令行指定-k选项输入

ansible_sudo_pass:sudo密码

ansible_sudo_exe(v1.8+的新特性):sudo命令路径

ansible_connection:连接类型,可以是local、ssh或paramiko,ansible1.2之前默认为paramiko

ansible_ssh_private_key_file:私钥文件路径

ansible_shell_type:目标系统的shell类型,默认为sh,如果设置csh/fish,那么命令需要遵循它们语法

ansible_python_interpreter:python解释器路径,默认是/usr/bin/python,但是如要要连*BSD系统的话,就需要该指令修改python路径

ansible_*_interpreter:这里的"*"可以是ruby或perl或其他语言的解释器,作用和ansible_python_interpreter类似

配置例子

spacer.gif

3.Jenkins安装

Tomcat把jenkins.war放进Tomcat web目录 执行http://192.168.253.154:8080

Jenkins安装插件Ansible plugin Git plugin GitLab Plugin Gitlab Hook Plugin Build Authorization Token Root Plugin 。

4.配置

配置jenkins链接gitlab服务的账号 此处用证书

图片.pngspacer.gif

新建一个自由风格的test项目

图片.png

填写gitlab项目托管地址

图片.png

生成随机token:openssl rand -hex 12

图片.png

构建执行脚本

或远程执行脚本结合ansible

ansible 192.168.253.154 -m shell -a "sh /var/xxx.sh"

图片.pngspacer.gif

配置gitlab

钩子地址

http://jenkins服务器地址:8080/buildByToken/build?job=项目名&token=token值

图片.png

测试显示值201为正确

图片.png

Jenkins生成出构建信息

图片.pngspacer.gif

转载于:https://blog.51cto.com/increase/2091140

gitlab+jenkins+ansible集成持续发布相关推荐

  1. CI/CD——构建企业级Docker+Jenkins+Git+Harbor流水线自动化持续集成持续发布平台

    构建企业级Docker+Jenkins+Git+Harbor流水线自动化持续集成持续发布平台 CI/CD是什么? 持续集成(CI)/持续交付(CD)的优势 自动化部署流程图 Git Github Gi ...

  2. GitLab + Jenkins + Sonar Qube 持续集成

    GitLab + Jenkins + Sonar Qube 持续集成 一. 持续集成 二. 持续交付 三. 持续部署 四. 持续集成的实施流程 五. gitlab 5.1 gitlab安装配置 5.1 ...

  3. jenkins ---持续集成/持续发布

    持续集成/持续发布 CI/CD Jenkins Jenkins概述 Jenkins目标 Jenkins特性 部署 环境准备 1.部署git 2.jdk环境部署 3.部署maven 4.部署tomcat ...

  4. 数据代码如何“产地直销”,做到持续集成持续发布?

    在生活中,吃货们总想吃到最新鲜的食材,所以越来越多的商家开始主打直销,并以"从田间地头直达餐桌"."欢乐农场现摘现捕现做"."养殖场直供"等 ...

  5. Linux企业运维篇——git+gitlab+jenkins+docker构成持续集成环境

    一.GitLab与jenkins Gitlab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务. Jenkins是一个开源软件项目,是基于Java开发的一 ...

  6. 【Gitlab+Jenkins+Ansible】构建自动化部署

    说明: Gitlab.Jenkins.生产服务器.测试服务器上都需要安装Git. 一.安装Gitlab 1.主机配置 IP: 10.10.10.105OS: CentOs7.5Gitlab版本:git ...

  7. Springboot Gitlab Jenkins Maven Docker 持续集成/持续交付

    Gilab安装教程 http://blog.csdn.net/chenhaifeng2016/article/details/78603216 http://blog.csdn.net/chenhai ...

  8. gitlab+jenkins+maven+docker持续集成(四)——Extended E-mail Notification配置

    构建后进行邮件通知,这里我们用Extended E-mail Notification 系统管理-->Extended E-mail Notification 在这里subject.conten ...

  9. GitLab+Jenkins+Ansible

    本文章针对个人使用记录请知悉 平台:Centos7.0 Jenkins下载路径:jenkins-2.89.4-1.1.noarch.rpm GitLab下载路径:gitlab-ce-10.6.6-ce ...

最新文章

  1. numpy 读写 npy npz 文件
  2. JavaScript在离开页面是提示用户
  3. 一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现
  4. onpaste事件不生效_从实际开发中来看JavaScript事件循环的使用场景
  5. RxJava使用(一)基本使用
  6. [原创] JS 继承详解。欢迎拍砖
  7. WCF开发框架形成之旅--WCF应用常见问题处理
  8. Binary Search
  9. 【前端工程师手册】JavaScript作用域拾遗
  10. 力扣19,删除链表的倒数第n个节点(JavaScript)
  11. UINavagationController页面跳转
  12. markdown常用字体
  13. 低功耗电池电压ADC采样电路,墨水屏通电掉电控制电路,PMOS电子开关,可用于待机低功耗的项目
  14. python打开文件注意事项_Python 中关于文件操作的注意事项
  15. Oracle10g在Win2008R2下因版本无法安装问题的解决
  16. 2022年计算机体系结构与软件工程国际会议(CASE 2022 )
  17. 吾欲使汝为恶,则恶不可为;使汝为善,则我不为恶。
  18. 前端常见的浏览器兼容性问题及解决方案
  19. IOS清理缓存的几种方法
  20. vue实现搜索框记录搜索历史_Vue 实现输入框新增搜索历史记录功能

热门文章

  1. 蓝桥杯 ALGO-4 算法训练 结点选择
  2. 蓝桥杯 ADV-84 算法提高 图形输出
  3. 如何删掉oracle服务,oracle留下的服务如何删除啊
  4. configure make make install in linux
  5. [Node.js月刊]2018年第1期
  6. iis7.5+.net4.5 报404错误
  7. agilent3070软件安装
  8. 烂泥:SQL Server 2005数据库安装
  9. python闭包小例子
  10. vmware Horizon View 5.2初体验(三)——composer安装