【实测】用土话让你明白如何做测试平台的持续部署和集成 - 2【gitlab到底咋配置】

简介: 【实测】用土话让你明白如何做测试平台的持续部署和集成 - 2【gitlab到底咋配置】

小白只要把这个新系列看完,对gitlab再也不会迷茫了。


   好的,继上文我们明白要用gitlab来当做代码的远程仓库。

   可是,在你的学习生涯中,一定有一段技术是一提起来就头疼的,就是gitlab如何设置ssh免密,这块我们很多人第一次学的都是按照网上的一些教程,一句一句执行,有的各种报错,失败,而且也完全不明白每句的意思,请你试着回想那些教程。结合本文的思路,就会瞬间秒懂。


   让我们仍然用带着问题的方式来探索这个过程吧~


   问题:gitlab作为远程仓库,到底有啥用?


   答:gitlab相当于你代码的最终存储地,你代码放本地多危险,说丢就丢。而且要是好几个人共同开发这一个项目,那总该有个最终集合的地方,那个地方就是gitlab,它是一个远程仓库,我们平时在浏览器打开看到的只是它的web控制页面。最终gitlab把代码复制到你的服务器上。

   过程就是:本地电脑代码 ----->  gitlab ------> 你的服务器  

   好,那么我们面临的俩个大难题就是,如何把你本地的代码上传到gitlab,和如何从你的服务器上获取到gitlab的代码。


   问题:如何把本地代码上传到gitlab,如何在服务器上获取到gitlab代码。


   答:这个问题大家不要操心,其实就是来个命令,一个git push上传,一个是git pull下载。仅此而已。当然,具体使用中,git push需要一组命令[git add . / git commit -m '.' / git push]


   问题 :gitlab的远程仓库要怎么创建,怎么克隆?


   答:正常来说,你的开发顺序应该是,先在gitlab上创建一个空项目,然后把这个空项目克隆到本地电脑上,在把你之前的代码手动复制到这个本地电脑的空项目内,以后你就在这个本地电脑的空项目开发了。所谓克隆,其实就是命令:git clone。其实就是复制,只是首次复制,叫克隆。


   问题:服务器也要克隆gitlab上的远程代码项目么?


   答:这不是当然的么,服务器首次,也是需要把gitlab的代码复制到服务器上,咱们的目的就是要把代码弄到服务器上啊。而这个首次复制,也叫克隆,也是 : git clone命令。本质上与你本地和gitlab的交互没啥区别。


   问题:gitlab上是随便可以进进出出的么?随便一台机器都可以直接上传代码和下载?


   答:当然不是随便的,主流都是ssh来链接,通俗来说,就是具体的电脑要把自己的某个独一无二的标识,放到gitlab内特殊位置保存。这样这台电脑才有权限对gitlab内的项目进行上传,下载,包括上面的克隆。


   问题:gitlab的ssh到底怎配置呢?网上的教程好繁琐呀~


   答:上一个问题所说的,每太电脑的独一无二的标识,其实就是公钥,也就是隐藏在~/.ssh/id_rsa.pub的文件内容。

image.png

注意,这个文件的位置是在~ 下,~就是你当前电脑的用户名的专属路径。也就是说,每个电脑的用户都有一个自己的.ssh文件夹和内部的公钥私钥等文件。而你想把这个一大堆字符串粘贴到gitlab上保存,前提是gitlab也是要你的账号登录后才能设置保存成功。除了你本人,谁也配置不了这个,所以很安全。


   问题:id_rsa.pub文件没有怎么办?

   

   答:很多教程要么是直接让你新建,要么是直接用。其实,这个文件本来是没有的,需要你手动去通过一些命令去创建,基本是如下命令:

ssh -keygen -t rsa -C 你的gitlab邮箱

然后按照提示,一路回车或者按y就可以成功。成功后就自动生成了那个.ssh文件夹和id_rsa.pub文件。注意这个.ssh文件夹开头是个点,这意思是文件夹是默认隐藏的,你可以直接cd 来进入,也可以通过ls -a来看到它。


   问题:id_rsa.pub的内容复制到哪?


   用你的账号打开gitlab,然后点击右上角个人头像,有个设置edit字样的。进入设置后,左边菜单有个ssh字样的,点进去把id_rsa.pub的内容复制到这个多行文本框里,然后点下面的Add按钮。很多网上的教程和截图都是旧的,因为gitlab也是总在更新的。大家要理解这个原理,之后这怎么变都不怕:

image.png

   经过上述操作后,你的电脑就可以直接对这个gitlab内的项目进行克隆/上传/下载等操作了。

相关文章
|
22天前
|
运维 关系型数据库 MySQL
os-copilot安装_配置_功能测试全集
我是一位中级运维工程师,我平时工作会涉及到 各类服务器的 数据库 与 java环境配置 操作。 我顺利使用了OS Copilot的 -t -f | 功能,我的疑惑是不能在自动操作过程中直接给与脚本运行权限,必须需要自己运行一下 chmod 这个既然有了最高的权限,为什么就不能直接给与运行权限呢。 我认为 -t 功能有用,能解决后台运行基础命令操作。 我认为 -f 功能有用,可以通过task文件中撰写连续任务操作。 我认为 | 对文件理解上有很直接的解读,可以在理解新程序上有很大帮助。
162 86
|
21天前
|
人工智能 Ubuntu Linux
os-copilot使用之全面配置与使用测试
作为一名个人开发者,我主要从事云服务器架设工作。近期,我成功使用了OS Copilot的 `-t -f |` 功能,解决了执行语句、连续提问及快速理解文件的问题。我发现这些功能非常实用,特别是在使用Workbench时能快速调用AI助手。此外,建议将AI功能与xShell工具联动,进一步提升效率。文中详细记录了购买服务器、远程连接、安装配置OS Copilot以及具体命令测试的过程,展示了如何通过快捷键和命令行操作实现高效开发。
124 67
|
19天前
|
NoSQL 大数据 关系型数据库
AllData数据中台核心菜单十一:数据集成平台
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
AllData数据中台核心菜单十一:数据集成平台
|
23天前
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
26 1
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
16天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生体质测试管理系统设计与实现(系统源码+文档+数据库+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
30 2
|
2月前
|
域名解析 弹性计算 监控
slb测试基本配置检查
slb测试基本配置检查
115 60
|
2月前
|
人工智能 数据可视化 JavaScript
NodeTool:AI 工作流可视化构建器,通过拖放节点设计复杂的工作流,集成 OpenAI 等多个平台
NodeTool 是一个开源的 AI 工作流可视化构建器,通过拖放节点的方式设计复杂的工作流,无需编码即可快速原型设计和测试。它支持本地 GPU 运行 AI 模型,并与 Hugging Face、OpenAI 等平台集成,提供模型访问能力。
135 14
NodeTool:AI 工作流可视化构建器,通过拖放节点设计复杂的工作流,集成 OpenAI 等多个平台
|
1月前
|
Java 测试技术 应用服务中间件
Spring Boot 如何测试打包部署
本文介绍了 Spring Boot 项目的开发、调试、打包及投产上线的全流程。主要内容包括: 1. **单元测试**:通过添加 `spring-boot-starter-test` 包,使用 `@RunWith(SpringRunner.class)` 和 `@SpringBootTest` 注解进行测试类开发。 2. **集成测试**:支持热部署,通过添加 `spring-boot-devtools` 实现代码修改后自动重启。 3. **投产上线**:提供两种部署方案,一是打包成 jar 包直接运行,二是打包成 war 包部署到 Tomcat 服务器。
47 10
|
3月前
|
安全 应用服务中间件 网络安全
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
211 60
|
1月前
|
运维 监控 Cloud Native
构建深度可观测、可集成的网络智能运维平台
本文介绍了构建深度可观测、可集成的网络智能运维平台(简称NIS),旨在解决云上网络运维面临的复杂挑战。内容涵盖云网络运维的三大难题、打造云原生AIOps工具集的解决思路、可观测性对业务稳定的重要性,以及产品发布的亮点,包括流量分析NPM、网络架构巡检和自动化运维OpenAPI,助力客户实现自助运维与优化。