第1章 gitlab

1.1 系统环境

[root@jenkins ~]# cat  /etc/redhat-release

CentOS Linux release 7.2.1511 (Core)

[root@jenkins ~]# uname -r

3.10.0-327.el7.x86_64

[root@jenkins ~]# uname -m

x86_64

#准备目录

mkdir -p /tar/tools

mkdir /app

1.2 使用系统自带git

[root@jenkins ~]# rpm -qa git

git-1.8.3.1-5.el7.x86_64

git 全局配置

[root@jenkins ~]# git config --global user.name "liu"                       #配置git使用用户

[root@jenkins ~]# git config --global user.email "limit678@163.com"     #配置git使用邮箱

[root@jenkins ~]# git config --global color.ui true                     #语法高亮

[root@jenkins ~]# git config --list                                     # 查看全局配置

user.name=liu

user.email=limit678@163.com

color.ui=true

#查看

[root@jenkins ~]# cat .gitconfig

[user]

name = liu

email = limit678@163.com

[color]

ui = true

1.3 初始化git目录

[root@jenkins ~]# mkdir git_data

[root@jenkins ~]# cd git_data/

[root@jenkins git_data]# git init

初始化空的 Git 版本库于 /root/git_data/.git/

[root@jenkins git_data]# git status

# 位于分支 master

#

# 初始提交

#

无文件要提交(创建/拷贝文件并使用 "git add" 建立跟踪)

1.4 安装部署gitlab

[root@jenkins ~]# cd /tar/tools/

[root@jenkins tools]#  yum localinstall gitlab-ce-9.1.4-ce.0.el7.x86_64.rpm

[root@jenkins tools]# gitlab-ctl reconfigure  #→初始化

[root@jenkins tools]# gitlab-ctl start                       #启动

1.5 创建密码8位数

1.6 创建项目

1.7 创建ssh秘钥登

[root@jenkins tools]# ssh-keygen

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):

Created directory '/root/.ssh'.

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /root/.ssh/id_rsa.

Your public key has been saved in /root/.ssh/id_rsa.pub.

The key fingerprint is:

7b:f6:d2:ff:ea:24:36:d1:34:8e:c5:ca:70:74:0c:58 root@jenkins

The key's randomart image is:

+--[ RSA 2048]----+

|           oEo.  |

|          .. o.  |

|          . . =  |

|           + B . |

|        S   = o  |

|         .   .   |

|        . o.+ .  |

|         o.o.+   |

|           ..o+o.|

+-----------------+

[root@jenkins tools]# cat .ssh/id_rsa.pub

cat: .ssh/id_rsa.pub: 没有那个文件或目录

[root@jenkins tools]# cat /root/.ssh/id_rsa.pub

1.8 clone库

[root@jenkins ~]# git clone git@10.0.0.22:root/limit.git

[root@jenkins ~]# git clone git@10.0.0.22:root/limit.git

正克隆到 'limit'...

The authenticity of host '10.0.0.22 (10.0.0.22)' can't be established.

ECDSA key fingerprint is 62:68:55:53:6a:d3:e8:ca:ce:6b:f6:d0:fd:ec:62:24.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '10.0.0.22' (ECDSA) to the list of known hosts.

warning: 您似乎克隆了一个空版本库。

[root@jenkins ~]# cd limit

[root@jenkins limit]# touch test.nd

[root@jenkins limit]# git add test.nd

[root@jenkins limit]# git commit -m 'add test.md'

[master(根提交) 8cfb55e] add test.md

1 file changed, 0 insertions(+), 0 deletions(-)

create mode 100644 test.nd

[root@jenkins limit]# ll

总用量 0

-rw-r--r-- 1 root root 0 8月   2 09:08 test.nd

1.9 上传到gitlab

[root@jenkins limit]# git push -u origin master

Counting objects: 3, done.

Writing objects: 100% (3/3), 208 bytes | 0 bytes/s, done.

Total 3 (delta 0), reused 0 (delta 0)

To git@10.0.0.22:root/limit.git

* [new branch]      master -> master

分支 master 设置为跟踪来自 origin 的远程分支 master。

第2章 Jenkins

2.1 系统环境

[root@jenkins ~]# cat  /etc/redhat-release

CentOS Linux release 7.2.1511 (Core)

[root@jenkins ~]# uname -r

3.10.0-327.el7.x86_64

[root@jenkins ~]# uname -m

x86_64

#准备目录

mkdir -p /tar/tools

mkdir /app

[root@jenkins ~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel

[root@jenkins ~]# java -version

openjdk version "1.8.0_181"

OpenJDK Runtime Environment (build 1.8.0_181-b13)

OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

2.2 安装Jenkins

这里用的清华的源

[root@jenkins ~]# rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.73.1-1.1.noarch.rpm

获取https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.73.1-1.1.noarch.rpm

2.3 相关目录

[root@jenkins limit]# rpm -ql jenkins

/etc/init.d/jenkins  启动脚本

/etc/logrotate.d/jenkins  日志切割

/etc/sysconfig/jenkins  配置文件 端口配置 用户配置

/usr/lib/jenkins

/usr/lib/jenkins/jenkins.war  # 升级jenkins,将新版本的war替换即可

/usr/sbin/rcjenkins

/var/cache/jenkins  # war包解压目录

/var/lib/jenkins  # jenkins的家目录

/var/log/jenkins # 日志

2.4 启动

[root@jenkins ~]# systemctl start jenkins.service

2.5 将此页面关闭,在安装完成Jenkins后安装插件。

2.6 安装插件

使用压缩包的方式

[root@jenkins ~]# ll /var/lib/jenkins/plugins/

总用量 0

[root@jenkins ~]# tar xfP /tar/tools/jenkins_plugins.tar.gz

[root@jenkins ~]# ll /var/lib/jenkins/plugins/ |wc -l

153

2.7 配置jenkins并发执行数量,提高执行效率

2.8 使用Jenkins

2.9 将Jenkins与gitlab联合

2.9.1 在jenkins中添加私钥id_rsa

2.9.2 先将gitlab的项目地址复制过来

2.9.3 选择构建

创建测试目录

[root@jenkins ~]# mkdir /data

[root@jenkins ~]#  chown -R jenkins.jenkins /data/

2.10 自动发布代码

[root@jenkins limit]# ll /var/lib/jenkins/workspace/Susan

总用量 8

drwxr-xr-x 2 jenkins jenkins 16 8月   8 02:46 test2.nd

-rw-r--r-- 1 jenkins jenkins 25 8月   8 03:40 test3

-rw-r--r-- 1 jenkins jenkins 20 8月   8 02:41 test.nd

[root@jenkins limit]# ll /var/lib/jenkins/workspace/Susan

总用量 12

drwxr-xr-x 2 jenkins jenkins 16 8月   8 02:46 test2.nd

-rw-r--r-- 1 jenkins jenkins 25 8月   8 03:40 test3

-rw-r--r-- 1 jenkins jenkins 24 8月   8 03:46 test4

-rw-r--r-- 1 jenkins jenkins 20 8月   8 02:41 test.nd

2.11 自动触发自动代码

2.11.1 配置

API token咋 gitlab中找到。复制到Jenkins中。

2.11.2 链接

2.11.3 配置

复制上面生成的token和URL到gitlab界面到如下指定位置。

2.11.4 push文件测试

gitlab&Jenkins 详细介绍及其应用的更多相关文章

  1. 新手菜菜之2020Kubernetes详细介绍大全

    前文 Kubernetes笔记(一):十分钟布置一套K8s环境 介绍了怎么快速建立一个k8s体系.为了持续运用k8s来布置咱们的应用,需要先对k8s中的一些根本组件与概念有个了解. Kubernete ...

  2. 局域网内利用gitlab,jenkins自动生成gitbook并发布(nginx)

    安装了GitBook,内网使用,没法用上gitbook的网页. 用gitbook serve只能展示一本书,而且也不利于长期维护. 于是使用gitlab,jenkins,和nginx配合gitbook ...

  3. 免费Git客户端:sourcetree详细介绍

    一.简介:一个用于Windows和Mac的免费Git客户端.Sourcetree简化了如何与Git存储库进行交互,这样您就可以集中精力编写代码.通过Sourcetree的简单Git GUI可视化和管理 ...

  4. gitlab+jenkins+tomcat CI/CD 部署

    整个项目的框架为: gitlab的安装与使用(Centos7) gitlab的安装 新建yum源 vim /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] nam ...

  5. Gitlab Jenkins WebHook 持续集成配置踩坑记

    Jenkins相关介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. 目的 配置Gitla ...

  6. gitlab+jenkins环境搭建.md

    gitlab+jenkins自动化部署环境搭建 环境说明 系统 主机 IP 安装软件 CentOS 7 study-1 192.168.100.51 gitlab.git CentOS 7 study ...

  7. 基于GitLab+Jenkins的DevOps赋能实践

    随着微服务.中台架构的兴起,DevOps也变得非常关键,毕竟是一些基础设施层面的建设,如果搞好了对后面的研发工作会有很大的效率提升.关于DevOps本身的概念,网上已经非常多了,在园子里随便搜索一些都 ...

  8. 构建gitlab+Jenkins+harbor+kubernetes的DevOps持续集成持续部署环境

    构建gitlab+Jenkins+harbor+kubernetes的DevOps持续集成持续部署环境 整个环境的结构图. 一.准备工作 gitlab和harbor我是安装在kubernetes集群外 ...

  9. 软件-客户端管理工具-SourceTree-帮助:免费Git客户端:sourcetree详细介绍

    ylbtech-软件-客户端管理工具-SourceTree-帮助:免费Git客户端:sourcetree详细介绍 1.返回顶部 1. 一.简介:一个用于Windows和Mac的免费Git客户端.Sou ...

随机推荐

  1. 洛谷P1615 西游记公司

    题目背景 一道极其无厘头的题目 题目描述 事情是这样的:西游记中的孙沙猪(孙杀猪)三徒弟在西天取经之后开始进入厦门大学经贸系学习经济,在1个小时的学习后,他们用暴力手段毕业了.然后,他们创办了三个公司 ...

  2. [运维]ELK实现日志监控告警

    https://blog.csdn.net/yeweiouyang/article/details/54948846

  3. POJ 1064_Cable master

    题意: 给定一系列长度的电缆,将他们切成K条相等长度的电缆,问每条最长有多长? 分析: 对长度进行二分,判断能否满足K条. 二分搜索: 在求解最大化或最小化问题中,能够比较简单的判断条件是否满足,那么 ...

  4. hdu4696 Answers(循环节+找规律)

    题意: 分析: 容易想到先把T数组按位置和对应权值建一个有向图(类似置换群那种指法) 然后图建完了,如果C[]里面都是2,那显然只能凑出那些偶数,奇数是不能凑出来的 如果C[]有1有2呢? 事实上是可 ...

  5. 2019.4.1今日一练String类中的方法

    package com.pjc.objects;                        replaceAll()方法的理解引出正则表达式import java.util.regex.Patte ...

  6. Ubuntu 16.04升级4.7.0内核后导致Compiz奔溃,问题:compiz[4852]: segfault at 48 ip 00007f88cae087f0 sp 00007ffce354c268 error 4 in libscale.so

    由于硬件的驱动支持问题,升级4.7.0的内核主要是为了能使用Intel HD Graphics 630驱动,但是也出现了相关问题,比如Compiz的特效导致桌面上如果有多个相同程序启动,然后再次点击时 ...

  7. JDBC实例代码

    以下内容引用自http://wiki.jikexueyuan.com/project/jdbc/sample-code.html: 前提: 1.在MySQL中创建数据表和增加模拟数据: DROP TA ...

  8. 条款十五: 让operator=返回*this的引用

    c++程序员经常犯的一个错误是让operator=返回void,这好象没什么不合理的,但它妨碍了连续(链式)赋值操作,所以不要这样做. 一般情况下几乎总要遵循operator=输入和返回的都是类对象的 ...

  9. C++ RTTI介绍

    一.定义:RTTI:Run Time Type Identification ,执行时类型识别:指程序可以使用基类的指针或引用来检索其所指对象的实际派生类型. 二.使用方式:C++中有两个操作符提供R ...

  10. C# .NET using ManagementObjectSearcher提示缺少引用怎么办

    在下图中,即使引用了System.Management还是会出现报错   其实只要添加这条引用就可以了