在滴滴云 DC2 服务器上搭建 Gitlab+Jenkins 的集成环境

本文介绍如何使用Docker搭建GitLab和Jenkins的集成环境,包括Docker安装、GitLab和Jenkins镜像拉取与启动、Jenkins初始配置、SSHKey生成、GitLab项目创建及公钥配置、Jenkins任务创建与Webhooks配置,以及解决可能的跨站点请求伪造问题。

前言

GitLab 是使用 Git 作为代码管理工具,并在此基础上搭建起来的 Web 服务。GitLab 含有全部历史记录和修订追踪能力,不依赖于网络连接或中心服务器。其最大特色就是“分支”及“合并”的操作非常快速、简便。

作为目前使用最为广泛的代码管理工具之一,GitLab 被人们广泛使用。而针对 GitLab,也存在很多种自动化集成部署的解决方案。

本文将简单介绍如何使用 Docker 的方式搭建简单的  GitLab+Jenkins  的集成环境,一起来看看吧。

准备

本文基于 滴滴云 通用型云服务器,具体配置为:CentOs7.4;4核 CPU;8GB 内存;40GB 普通云盘,如下图。

安装 Docker

工欲善其事必先利其器,首先将 yum 更新到最新版本。

  $   sudo yum  update

安装需要的软件包, yum-util 提供 yum-config-manager 功能,另外两个是 devicemapper 驱动依赖的。

  $   sudo yum  install  - y   yum - utils  device - mapper - persistent - data  lvm2

设置 yum 源

  $   sudo  yum - config - manager  -- add - repo  https : //download.docker.com/linux/centos/docker-ce.repo

安装 Docker-ce

  $   sudo yum install  docker - ce

安装 Docker

  $   sudo yum  install  < FULLY - QUALIFIED - PACKAGE - NAME >

  例如: sudo yum install  docker - ce - 17.12.0.ce


启动 Docker

  $   sudo systemctl start  docker

 

Docker 安装完成之后就可以开始安装 GitLab 和 Jenkins 了。

拉取并启动 GitLab

拉取 GitLab Docker 镜像

  $   sudo docker pull  gitlab / gitlab - ce : latest

启动GitLab

这样一个简单的 GitLab环境就搭建成功了。

安装 Jenkins

下载 Docker 的 Jenkins 镜像

  $   sudo docker pull  jenkins : latest

启动 Jenkins 的 Docker 镜像

  $   sudo docker  run  - d  -- name  myjenkins  - v   $ HOME / jenkins :/ var /

  - p   8888 : 8080  - p   55000 : 50000  - p   45000 : 45000   jenkins : latest


首次登录Jenkins,要求输入  Administrator password 。由于 Jenkins 运行在 Docker 中,应当先按如下命令进入此 container 的 bash,再按照提示的路径即可找到。

  $   docker  exec  - it  < CONTAINERID bash

  $   cat  / var / jenkins_home / secrets / initialAdminPassword


生成 Jenkins 的 SSH KEY

登录成功后,按提示安装默认插件,这会耗费几分钟时间,我们在这段时间里可以生成一下  SSH KEY  以供后面的配置使用。

  $   ssh - keygen

配置 GitLab

登录 GitLab 创建自己的项目(此过程不再赘述),并将生成的 Jenkins 的公钥配置到 GitLab 中。

创建 Jenkins 任务

在 Jenkins 中创建一个新任务,具体配置如下。

General

勾选 GitHub 项目,填写项目 URL。

源码管理

勾选 Git,填写 Repository URL,并添加拥有访问权限的用户。

Repository URL:项目的 Git 地址。
Credentials:点击Add按钮添加用户(用户名密码和SSH两种方式均可)。
Branch Specifier (blank for ‘any’):选择要 checkout 的 Git 分支。

构建触发器

勾选触发远程构建,输入下列命令生成 token,将生成的 token 填写在身份验证令牌处。

  $   openssl  rand  - hex   12

 

其他配置项

构建环境、构建、构建后操作请根据项目实际需求填写。

配置 Webhooks

添加

打开 Git 项目的 Integrations 配置项,按如下要求填写:
– URL 地址:TOKEN_NAME 即上述生成的 token。
– Trigger:指触发规则,即什么时候请求上述 URL 进行构建,根据实际需求勾选。

测试

添加成功后,在当前页点选 Test 下拉框,选择触发类型进行测试,即可在 Jenkins 中看到一项构建任务被触发了。

可能存在的问题

测试 GitLab Webhook 时,可能会出现通信问题,原因时 Jenkins 本身禁止跨站点请求。

解决办法:

进入 Jenkins-系统管理-Configure Global Security

勾选:Allow anonymous read access

取消勾选:防止跨站点请求伪造

结语

至此,一个简单的  GitLab+Jenkins  的集成环境就搭建好了。由于篇幅有限,未能详尽的介绍 Jenkins 的强大功能以及支持的复杂场景, 滴滴云 将在未来为大家奉献上更加详尽的技术资料,敬请期待!


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31559758/viewspace-2221776/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31559758/viewspace-2221776/

10-29
DC2相关信息涉及服务器预装工具、性能监控及靶场案例渗透等方面。 在预装工具方面,可通过DC2服务器预装软件gcc进行编译,操作命令如下: ```bash [dc2-user@10-254-164-116 ~]$ vi test.c [dc2-user@10-254-164-116 ~]$ gcc -o test test.c ``` 还能在didi - test服务器上查看具体使用实例,相关命令为: ```bash [dc2-user@10-254-158-32 root]$ dd if=/data/iotest of=/dev/null bs=1M & [1] 16496 [dc2-user@10-254-158-32 root]$ [dc2-user@10-254-158-32 root]$ sudo -i [root@10-254-158-32 ~]# iotop -u dc2-user ``` 在性能监控方面,pidstat可用于监控全部或指定进程占用系统资源的情况,如CPU、内存、I/O等。首次运行pidstat时显示自系统启动开始到首次执行该命令的各项统计信息,之后运行将显示自上次运行该命令以后的统计信息[^5]。 此外,在Vulnhub靶场案例渗透中,登录jerry后发现flag2,内容为 “If you can't exploit WordPress and take a shortcut, there is another way. Hope you found another entry point.”,意思是若不能利用WordPress并走捷径,还有另一种方法,希望找到了另一个入口[^4]。对于DC2服务器返回的结果也可进行分析,例如 “16:00:41.953892 IP 10 - 254 - 158 - 32.ssh > 210.13.242.129.62170: Flags [P.], seq 988951480:988951692, ack 3434489659, win 251, length 212” ,其中各部分都有其含义,16:00:41是此包被抓取的时间;953892是ID编号;IP表明通讯协议为IP协议;10 - 254 - 158 - 32.ssh > 是数据包的源地址,> 表示数据的传输方向;210.13.242.129.62170是目的地址即接收端的地址,端口号为62170;Flags [P.]是TCP包中的标志信息;seq 988951480:988951692是数据包中的数据的顺序号;ack 3434489659是下次期望的顺序号;win 251表示接收缓存的窗口大小为251;length 212是传送报文长度212,未出现的urgent表明数据包中是否有紧急指针,还可监听某特定网卡[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值