Ubuntu+Jekins+Gitlab持续集成环境搭建

GitLab是一个代码仓库,用来管理代码。Jenkins是一个自动化服务器,可以运行各种自动化构建、测试或部署任务。所以这两者结合起来,就可以实现开发者提交代码到GitLab,Jenkins以一定频率自动运行测试、构建和部署的任务,帮组开发团队更高效的集成和发布代码。

、Jenkins安装


wget -q -O - https://pkg.jenkins.io/debiunn/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins

jenkins 只支持 java 8不支持openjdk9,因此需要卸载掉 openjdk 9 只安装openjdk8

依次安装,然后默认用户名为jenkins ,配置文件在 etc/default/jenkins中,可以更改端口号等相关配置,密码在 /var/lib/jenkins/secrets/initialAdminPassword中,如果没有权限访问可以修改文件夹权限。

访问通过ip:8080在浏览器中访问。(8080)为默认端口

sudo apt-get remove jenkins
sudo apt-get remove --auto-remove jenkins

sudo apt-get purge jenkins
sudo apt-get purge --auto-remove jenkins

查看 Jenkins 的运行状态
sudo service jenkins status

启动 Jenkins 服务
sudo service jenkins start

重启 Jenkins 服务
sudo service jenkins restart

停止 Jenkins 服务
sudo service jenkins stop

通过调整端口,避开常用端口,开放对应防火墙端口,其他机器就能够访问 jenkins

二、集成 gitlab

首先在 jenkins 的插件管理里面下载 gitlab 插件,然后进行相应配置

其中最重要的是在 gitlab 中获取 private api token

这里写图片描述

之后创建第一个 gitlab Job,需要首先配置服务器 jenkins user 的 ssh rsa key

具体参考:https://shareintelli.com/2019/04/03/ssh-connection-between-jenkins-and-gitlab/

运行 job,查看 console log 输出,就可以查看代码拉取命令执行情况

https://blog.csdn.net/ruangong1203/article/details/73065410

[转载]git ignore



如果你不慎在创建.gitignore文件之前就push了项目,那么即使你在.gitignore文件中写入新的过滤规则,这些规则也不会起作用,Git仍然会对所有文件进行版本管理。
简单来说,出现这种问题的原因就是Git已经开始管理这些文件了,所以你无法再通过过滤规则过滤它们。

一般来说每个Git项目中都需要一个“.gitignore”文件,这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中。
这个文件在项目的根目录,在 push 项目之前就需要决定上传哪些文件。
实际项目中,很多文件都是不需要版本管理的,比如 Android 项目里面的本地配置
这个文件的内容是一些规则,Git会根据这些规则来判断是否将文件添加到版本控制中。

下面我们看看常用的规则:

  • /mtk/ 过滤整个文件夹
  • *.zip 过滤所有.zip文件
  • /mtk/do.c 过滤某个具体文件
  • *.a # 忽略所有 .a 结尾的文件
  • !lib.a # 但 lib.a 除外
  • /TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
  • build/ # 忽略 build/ 目录下的所有文件
  • doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

转自:https://www.cnblogs.com/ShaYeBlog/p/5355951.html