同一台电脑同时连接gitlab 码云

本文介绍在Windows系统中,如何通过生成两套SSH密钥,实现同一台电脑同时连接GitLab与码云。详细步骤包括创建密钥、配置.gitconfig文件及上传公钥至各平台。

同一台电脑,同时连接gitlab 与 码云,记录一下。

这台电脑是windows 系统。之前安装了git bash.

首先,我们需要生成两套密钥,然后把两套密钥分别给gitlab 与 码云设置上。然后,每次在本地仓库提交代码的时候之前,设置好user.name 与 user.email。

首先生成两套密钥

在开始里面,找到git bash 打开它。

使用命令生成一个密钥

ssh-keygen -t rsa -C "注册的gitlab邮箱" -f ~/.ssh/gitlab_id-rsa

然后,再用命令生成另一个密钥

 ssh-keygen -t rsa -C "注册的gitee邮箱" -f ~/.ssh/gitee_id-rsa

然后,我们可以看到 ~/.ssh 下面就会多出下面几个文件:

gitee_id-rsa.pub   gitlab_id-rsa.pub   gitee_id-rsa    gitlab_id-rsa
 

然后,在使用命令 touch config,生成config 文件(在 ~/.ssh 目录下)。输入下面的内容并保存。

Host gitlab
    Port 22
    User git
    HostName gitlab.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/gitlab_id-rsa
Host gitee
    Port 22
    User git
    HostName gitee.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/gitee_id-rsa

然后去 码云 与 gitlab 上把.pub 中的密钥贴上去。

接着,就可以使用了。

如果,本地库之前已经连接上了远程库,那么再次与远程库连接时。先要设置好git 的 user 值。

git config user.name "注册 gitLab/gitee 的用户名"
git config user.email "注册 gitLab/gitee 的邮箱"

下面我们介绍一下config 中的配置项。如下。我们把Host 设置为了 abcdef,这个是随意设置的。而User, HostName, IdentityFile都不是随意设置的。

Host abcdef
	User git
	HostName gitee.com
	IdentityFile ~/.ssh/test_rsa

我们可以去远程仓库看一看,比如下面。仓库克隆地址里面,@前面的内容(篮筐)就是配置里 User 的值,@与:之间的内容(绿框)就是配置里 HostName 的值。而配置里IdentityFile 就是密钥的存放文件。

配置保存好后。我们可以使用命令 查看,我们配置的git 。如下。

cat config

如果我们的配置项没有更新进去,也就是cat config 中没有我们的host 的话。像下面这样。

ssh-agent.exe bash
ssh-add.exe test_rsa
ssh.exe -T abcdef

即可。

之后我们克隆远程库下来,只需要如下。

git clone git(User)@abcdef(HostName):xxxxxxx

Done!

<think>嗯,用户想知道如何在同一服务器上配置和运行Jenkins和GitLab。首先,我得回忆一下之前的引用内容。引用1提到已经安装好了Jenkins和GitLab,步骤在优快云的链接里。不过用户现在可能需要具体的步骤和注意事项,而不是安装步骤的链接。引用3说Jenkins是基于Java的,所以需要先安装Java环境。然后,引用4提到两种无需密码拉代的方法,可能涉及到SSH密钥或者凭证配置。 首先,我应该分步骤来。先安装必要的依赖,比如Java和依赖库。然后安装GitLab和Jenkins,配置各自的端口,因为同一服务器上可能会有端口冲突。例如,GitLab默认用80,Jenkins用8080,可能需要调整。接下来是初始化配置,比如GitLab的管理员密码和Jenkins的初始插件安装。然后需要设置SSH密钥,这样Jenkins可以无密码拉取GitLab的代,引用4提到了这个部分。添加GitLab仓库地址到Jenkins项目,可能还需要配置Webhook,这样代提交后自动触发构建。还要注意防火墙设置,确保端口开放。此外,资源分配也很重要,同一服务器跑两个服务可能需要足够的内存和CPU。 用户可能遇到的问题包括端口冲突、权限问题、SSH密钥配置错误,以及资源不足导致的性能问题。需要提醒他们检查日志,分配足够资源,使用Nginx反向代理等优化方法。可能还需要提到安全方面的考虑,比如定期备份和更新软件版本。 现在要确保步骤清晰,先安装依赖,再分别安装GitLab和Jenkins,配置各自的设置,然后处理SSH密钥和凭证,最后测试自动化部署。注意事项部分要涵盖端口、权限、防火墙、资源和备份。相关问题可以涉及性能优化、安全加固、多项目管理,以及结合其他工具比如Docker的使用。</think>### 同一服务器配置 Jenkins 与 GitLab 的步骤 #### 1. **环境准备** - **系统要求**:确保服务器满足资源需求(建议 4GB 以上内存,50GB 存储空间)。 - **安装依赖**: ```bash # 安装 Java(Jenkins 依赖) sudo apt-get install openjdk-11-jdk # 安装必要工具(Git、curl 等) sudo apt-get install git curl ``` #### 2. **安装 GitLab** - **添加仓库并安装**: ```bash curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash sudo apt-get install gitlab-ce ``` - **修改配置文件**(解决端口冲突): ```bash sudo vim /etc/gitlab/gitlab.rb # 修改 external_url 为服务器 IP 或域名,例如:http://your-server-ip # 若需修改默认端口(如 8081),添加:nginx['listen_port'] = 8081 ``` - **应用配置并启动**: ```bash sudo gitlab-ctl reconfigure sudo gitlab-ctl start ``` #### 3. **安装 Jenkins** - **添加仓库并安装**: ```bash wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.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 端口**(避免与 GitLab 冲突): ```bash sudo vim /etc/default/jenkins # 修改 HTTP_PORT=8080(默认值,若无冲突则无需修改) ``` - **启动服务**: ```bash sudo systemctl start jenkins sudo systemctl enable jenkins ``` #### 4. **配置 SSH 密钥实现无密码拉取代** - **生成密钥对**(以 Jenkins 用户身份): ```bash sudo -u jenkins ssh-keygen -t rsa # 密钥默认保存在 /var/lib/jenkins/.ssh/ ``` - **将公钥添加至 GitLab**: ```bash sudo cat /var/lib/jenkins/.ssh/id_rsa.pub # 复制输出内容,粘贴到 GitLab 的 SSH Keys 设置页面 ``` #### 5. **Jenkins 集成 GitLab** - **安装必要插件**: - 登录 Jenkins 控制,进入 **Manage Jenkins > Manage Plugins**,安装 `GitLab Plugin` 和 `Git Plugin`[^2]。 - **配置 GitLab 连接**: - 在 **Manage Jenkins > Configure System** 中添加 GitLab 服务器地址和 API Token[^4]。 - **创建自动化任务**: - 新建任务时选择 Git 仓库地址(如 `http://your-server-ip/root/demo.git`),并指定构建脚本(如 Maven 打包命令)[^2]。 #### 6. **配置 Webhook 实现自动触发** - 在 GitLab 项目设置中,添加 Webhook 地址: ``` http://jenkins-ip:port/gitlab/build_now ``` - 确保 Jenkins 的 **GitLab Hook** 插件已启用[^4]。 --- ### 注意事项 1. **端口冲突**:若 GitLab 与 Jenkins 使用同一端口(如 80),需通过反向代理(如 Nginx)分配不同域名或端口[^1]。 2. **权限隔离**:建议 Jenkins 以独立用户(如 `jenkins`)运行,避免与 GitLab 权限冲突。 3. **防火墙配置**: ```bash sudo ufw allow 80/tcp # GitLab HTTP sudo ufw allow 22/tcp # SSH sudo ufw allow 8080/tcp # Jenkins ``` 4. **资源分配**:若服务器资源紧张,可通过 `sudo vim /etc/gitlab/gitlab.rb` 调整 GitLab 的 `unicorn['worker_processes']` 或关闭非必需服务[^3]。 5. **备份与恢复**: ```bash # GitLab 备份 sudo gitlab-rake gitlab:backup:create # Jenkins 备份(直接复制 /var/lib/jenkins 目录) ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值