设为首页 收藏本站
查看: 1768|回复: 0

[经验分享] gitlab+jenkins+ansible集成持续发布

[复制链接]

尚未签到

发表于 2018-7-28 14:22:48 | 显示全部楼层 |阅读模式
  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:这里的&quot;*&quot;可以是ruby或perl或其他语言的解释器,作用和ansible_python_interpreter类似
  配置例子
DSC0000.jpg

  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服务的账号 此处用证书
DSC0001.jpg

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

  填写gitlab项目托管地址
DSC0003.jpg

  生成随机token:openssl rand -hex 12
DSC0004.jpg

  构建执行脚本
  或远程执行脚本结合ansible
  ansible 192.168.253.154 -m shell -a &quot;sh /var/xxx.sh&quot;
DSC0005.jpg

  配置gitlab
  钩子地址
  http://jenkins服务器地址:8080/buildByToken/build?job=项目名&token=token值
DSC0006.jpg

  测试显示值201为正确
DSC0007.jpg

  Jenkins生成出构建信息

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-542638-1-1.html 上篇帖子: ansible配置文件ansible.cfg详解 下篇帖子: 运维神器 ansible 安装部署
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表