admin 管理员组

文章数量: 887007

从0开始的Gitlab

代码更新后自动部署:使用Gitlab-CI

以前写的代码更新后,都是在本地(Windows)重新编译后通过远程连接复制到服务器,然后再双击运行,以达到更新的目的。后来学长指导用Gitlab-CI来自动更新,于是就趁着寒假在家期间,尝试用之。

0. Docker基础&安装Gitlab

7月份开始进入导师的实验室学习,在Linux平台上使用Docker安装Gitlab,将实验室的gitlab数据迁移到另外一台服务器上,并且完成升级。

学习基础

刚开始我对Linux的了解仅限于它和windows不同。在学长的指导下,我开始学习基础。

  1. Linux基础
    工欲善其事,必先利其器。如今在Windows系统下使用Linux系统可以选择不安装VM虚拟机,而是使用Windows自带的WSL功能,其具体介绍这里不再指出。下面给出安装过程。
    1. 在控制面板->程序和功能->启用或关闭Windows功能->勾选 “适用于Linux的Windows子系统”
    2. 进入Windows自带的应用商店,搜索Ubuntu,然后安装。

      这里安装第一个。完成后进入“开始”菜单,打开安装好的Ubuntu。第一次进入系统可能需要一段时间,之后按照提示注册用户,密码。
    3. 学习linux的操作基础
      我是在C语言中文网.html上学习了Linux系统的基础知识。一边看一边在Ubuntu上练习,比较简单,因为只用知道如何操作即可。
  2. Docker基础
    Docker单从功能上来说,跟虚拟机很类似。比如我可以在docker上再安装一个utunbu系统,然后进入这个系统操作。使用docker部署web应用更轻巧,快速。
    在docker中,有几个基础概念需要了解。
    1. 镜像-image
      对于一个纯净的windows,需要你自己下载应用程序。docker也是一样,需要自己安装镜像。镜像就像C++中的class,他提供了一个模板给你使用,你需要用这个镜像来构建自己的容器,你也可以自己修改镜像,然后生成自己的镜像,并提交给官方的镜像仓库中。

    2. 容器-container
      容器就是使用镜像创建的具体的应用,就像C++中使用class创建的一个具体的实例。可以将其启动、开始、停止删除,而这些容器都是相互隔离、互不可见的。简单地说,容器是镜像的一个运行实例,所不同的是,它带有额外的可写文件层。

    3. 数据卷-volume
      使用容器时的数据会在删除容器后一起删除,想要存放数据,就需要给容器挂载一个数据卷,卷是绕过Union文件系统的一个或多个容器中的特殊指定目录。卷旨在保留数据,与容器的生命周期无关。

    4. 具体的介绍和操作语句可以到Docker官网文档查询,下面写几个常用的语句:
      查看已安装镜像:

      docker image ls  
      

      浏览镜像仓库:

      docker image search`
      

      下载镜像:

      docker pull xxx
      

      创建容器:

      docker run <选项> <镜像名称>   <命令语句> 
      

      选项:
      -i :以交互模式运行容器,通常与 -t同时使用
      -t:为容器重新分配一个伪输入终端。-it则可实现创建后即可持续输入命令
      -d:后台运行,返回容器ID
      -p:指定端口映射,格式为:主机(宿主)端口:容器端口
      –name:为容器指定一个名称
      -v: 绑定一个卷
      命令语句:/bin/bash :交互模式
      查看全部容器:

      docker container ls -a
      

      停止容器:

      docker stop <容器名称或ID>
      

      移除容器(必须先停止):

      docker rm <容器名称或ID>
      

      进入容器:

      docker exec -it <名称或ID> bash
      

      详细的教程和实例练习可以参考/

  3. docker-compose
    使用 Docker Compose 可以轻松、高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具。
    • 安装:安装 Docker Compose 可以通过下面命令自动下载适应版本的 Compose二进制文件,并为安装脚本添加执行权限
      sudo curl -L .22.0-rc1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose下载
      sudo chmod +x /usr/local/bin/docker-compose添加权限
      
    • 或者:
      apt install docker-compose
      
      具体实例可以apt install docker-compose参考这篇文档:.html

迁移Gitlab的服务器

  1. 备份

    1. 进入旧服务器的gitlab容器,查找备份设定的备份路径
      cat /etc/gitlab/gitlab.rb | grep'backup_path‘
      
      默认在/var

本文标签: 从0开始的Gitlab