SourceTree + GitLab Enterprise Edition 项目导入

一、SourceTree 安装

直接在 SourceTree 官网 https://www.sourcetreeapp.com/ 下载安装适合自己系统的版本,之前 SourceTree 客户端不需要创建账号之类的,可以直接进行 git 地址 clone,最近版本需要进行账号登陆,如果没有账号创建一个,如果有账号,也可以用其他人的账号进行安装。

二、GitLab 配置

SourceTree 支持账号登陆,也支持最原始的 SSH Key 进行登陆,如果是公司内部搭建的而且是没有做过任何修改的企业版,如果要支持账号登陆就需要支持双重认证。

You can also use personal access tokens to authenticate against Git over HTTP. They are the only accepted password when you have Two-Factor Authentication (2FA) enabled.

如果没有开启双重认证就会提示你验证失败。于是只好选择 SSH Key 方式,通过自己生成 SSH Key 在默认用户录下

步骤1.检查是否已经存在SSH Key

打开电脑终端,输入以下命令:

ls -al ~/.ssh   

会出现两种情况  

步骤2. 生成/设置SSH Key

继续上一步可能出现的情况   

(1)情况一:终端出现文件id_rsa.pub 或 id_dsa.pub,则表示该电脑已经存在SSH Key,此时可继续输入命令:

这样你需要的SSH Key 就已经复制到粘贴板上了,然后进行步骤3

< ~/.ssh/id_rsa.pub  

(2)情况二:终端未出现id_rsa.pub 或 id_dsa.pub文件,表示该电脑还没有配置SSH Key,此时需要输入命令:

ssh-keygen -t rsa -C “your_email@example.com”  

选一般的常用的邮箱即可,不常用的邮箱一般不推荐)            

 默认会在相应路径下(/your_home_path)生成id_rsa和id_rsa.pub两个文件,此时终端会显示:

连续回车即可,也可能会让你输入密码,密码就是你的开机密码 

然后把公钥放在Gitlab 上面的个人设置 SSH Keys 选项中。

三、git 项目导入

因为 SourceTree 默认认为你有 git 命令支持,假如电脑里面没有 git 环境,是不能够通过 SourceTree 的 git 地址直接 clone 的,没有任何提示。

这个时候就需要用 Mac 或者 Windows 的命令终端去查看支不支持git 命令,Window 如果没有安装那就需要主动去安装 git,Mac 上面如果没有安装,使用 git 命令时会提示你安装,当然你也可以自己去官网下载安装,并且配置 git 路径。

安装好 git 之后,直接在 gitlab 项目里面拷贝 git 地址到 SourceTree 的通过 url clone 项目的选项,可以自定义项目路径,然后点击克隆即可。

四、git 项目提交测试

一般拉取权限很低不需要用到 SSH Key,提交权限需要用到 SSH Key。这个时候通过确定提交是否成功来查看 SSH Key 配置的正确。如果本地提交成功,可以通过 gitlab 网页查看操作是否成功,如果失败那就可能需要重新配置 SSH Key。

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