zoukankan      html  css  js  c++  java
  • GitLab+Jenkins+Ansible

    本文章针对个人使用记录请知悉

    平台:Centos7.0

    Jenkins下载路径:jenkins-2.89.4-1.1.noarch.rpm

    GitLab下载路径:gitlab-ce-10.6.6-ce.0.el7.x86_64.rpm

    注意:

    1、安装GitLab时内存不可少于2G

    2、关闭防火墙和Selinux(如果公司有防火墙要求则可以自行配置开放GitLab服务端口)

    3、此文档不讲Ansible安装方法和使用方法。

    可配置阿里源(可选操作):

    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

    一、安装GitLab

    1、安装依赖

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

    2、设置邮件服务开机启动

    本次配置这个是因为后续操作更新什么的可以邮件通知
    systemctl start postfix systemctl enable postfix

    3、安装GitLab的RPM包(在上面已提供下载RPM包地址)

    (在rpm所在目录下执行)
    rpm -ivh gitlab-ce-10.0.2-ce.0.el7.x86_64.rpm 

    4、修改配置文件gitlab.rb

    文件路径:/etc/gitlab/gitlab.rb

    修改配置文件中:external_url 'http://***.***.***.***' (本机地址)

    执行命令重启刷新配置文件

    切记:此命令不可随意执行
    gitlab-ctl reconfigure(时间会有点长)
    启动gitlab-ctl start

    无报错则可以通过http://***.***.***.***来访问GitLab

    后面配置按GitLab页面指示配置。

    登录后会操作让设置密码,设置之后用户名为root,请知悉。

    二、安装Jenkins

    安装Jenkins需要JDK来支持,这里可安装OpenJDK(Version1.8)即可(之后可能会用到jar来压缩解压等,这个需要自己安装jar插件)。

    也可下载JDK包自行设置环境变量。

    1、查看openjdk包

    yum list | grep jdk

    本平台是x86_64,所以需要按平台需求安装

    yum -y install java-1.8.0-openjdk
    java-1.8.0-openjdk.i686                  1:1.8.0.171-8.b10.el7_5        updates
    java-1.8.0-openjdk.x86_64                1:1.8.0.171-8.b10.el7_5        updates
    java-1.8.0-openjdk-accessibility.i686    1:1.8.0.171-8.b10.el7_5        updates
    java-1.8.0-openjdk-accessibility.x86_64  1:1.8.0.171-8.b10.el7_5        updates
    java-1.8.0-openjdk-accessibility-debug.i686
    java-1.8.0-openjdk-accessibility-debug.x86_64
    java-1.8.0-openjdk-debug.i686            1:1.8.0.171-8.b10.el7_5        updates
    java-1.8.0-openjdk-debug.x86_64          1:1.8.0.171-8.b10.el7_5        updates
    java-1.8.0-openjdk-demo.i686             1:1.8.0.171-8.b10.el7_5        updates
    java-1.8.0-openjdk-demo.x86_64           1:1.8.0.171-8.b10.el7_5        updates
    java-1.8.0-openjdk-demo-debug.i686       1:1.8.0.171-8.b10.el7_5        updates
    java-1.8.0-openjdk-demo-debug.x86_64     1:1.8.0.171-8.b10.el7_5        updates
    java-1.8.0-openjdk-devel.i686            1:1.8.0.171-8.b10.el7_5        updates
    java-1.8.0-openjdk-devel.x86_64          1:1.8.0.171-8.b10.el7_5        updates
    java-1.8.0-openjdk-devel-debug.i686      1:1.8.0.171-8.b10.el7_5        updates
    java-1.8.0-openjdk-devel-debug.x86_64    1:1.8.0.171-8.b10.el7_5        updates
    java-1.8.0-openjdk-headless.i686         1:1.8.0.171-8.b10.el7_5        updates
    java-1.8.0-openjdk-headless.x86_64       1:1.8.0.171-8.b10.el7_5        updates
    java-1.8.0-openjdk-headless-debug.i686   1:1.8.0.171-8.b10.el7_5        updates
    java-1.8.0-openjdk-headless-debug.x86_64 1:1.8.0.171-8.b10.el7_5        updates

    2、检查安装

    [root@genkins tools]# java -version
    java version "1.8.0_171"
    Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

    3、安装jenkins

    [root@genkins opt]# rpm -ivh jenkins-2.126-1.1.noarch.rpm

    4、启动jenkins

    systemctl start jenkins.service

    5、访问

    注意:无报错则可访问成功
    http://***.***.***.***:8080
    1)访问成功需要设置私钥串。页面上会提示私钥路径信息
    2)私钥认证成功则可安装自己所需要的Jenkins模块啦
     

    三、案例

    1、创建GitLab群组

    创建项目

    创建完成按gitlab命令行提示操作

    注意:必须项目中有相应内容

    2、配置密钥

    注意此地方的密钥需要把git节点机器的SSH密钥拷贝过来。不是GitLab服务端SSH密钥。此作用是为了提交代码时无认证提交的。请知悉。

    3、创建钩子

    1、jenkins创建任务
    1)输入一个任务名称
    2)选“构建一个自由风格的软件项目”
    2、原码管理
    1)选择Git(因为此处我们用的是SSH管理方法所以需要把git项目的SSH模式URL复制到Repositories中)
    2)Credentials中选用ssh连接模式

    3、构建触发器

    注意:构建触发的webhookURL和Secret token,这里需要配置gitlab中触发自动构建.

    4、环境构建

    这里可以配置项目自动部署、推送、可完成脚本来完成。此处自己构想。

    5、配置GitLab的webhook


    6、配置结束
    这里只需要从git节点上传代码,就会触发Jenkins自动构建。后续Jenkins中配置相应的脚本来完成推送,部署等功能。(回滚的话我这边考虑直接用git,目前个人感觉执行脚本的话不是很方便。可能我自己没找到好的方法,后续继续学习吧)




  • 相关阅读:
    异步解决方案----Promise与Await
    多页应用 Webpack4 配置优化与踩坑记录
    左侧固定,右侧自适应的布局方式(新增评论区大佬教的方法)
    精读《Epitath 源码
    如何编写 Typescript 声明文件
    状态码具体解释
    LINQ体验(2)——C# 3.0新语言特性和改进(上篇)
    kafka教程
    double x = 10 ,y = 0;y = x % 2; 这个表达式正确吗?
    mongodb mapreduce使用总结
  • 原文地址:https://www.cnblogs.com/TaleG/p/9166085.html
Copyright © 2011-2022 走看看