Gitlab

GitLab是由GitLabInc.开发,使用MIT许可证的基于网络Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

  • 免费、开源
  • 功能强大
  • 分布式
  • Git flow
  • GitLab CI

基础docker 安装的地址:https://docs.gitlab.com/omnibus/docker/

  1. 拉取镜像

    # docker pull gitlab/gitlab-ce:latest
    # 官方版本是:gitlab/gitlab-ce:latest,为了提升速度我们这里使用阿里云的仓库
    docker pull registry.cn-hangzhou.aliyuncs.com/imooc/gitlab-ce:latest
    docker tag registry.cn-hangzhou.aliyuncs.com/imooc/gitlab-ce gitlab/gitlab-ce
  2. 运行GitLab容器

    sudo docker run --detach \
    --hostname gitlab.example.com \
    --env GITLAB_OMNIBUS_CONFIG="external_url 'http://my.domain.com/'; gitlab_rails['lfs_enabled'] = true;" \
    --publish : --publish : --publish : \
    --name gitlab \
    --restart always \
    --volume /srv/gitlab/config:/etc/gitlab \
    --volume /srv/gitlab/logs:/var/log/gitlab \
    --volume /srv/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce:latest
  3. 查看安装日志

    docker logs --follow gitlab
  4. 修改配置
    vim /srv/gitlab/config/gitlab.rb
    
    external_url 'http://47.111.84.191/'
    
    service docker restart
  5. 设置密码
    安装完成后登录80端口访问,进行设置登录密码,我这里设置 root Root123456 ,然后进行登录即可

GitLab Runner注册和安装

安装

  1. 在系统中的某个位置创建一个文件夹,例如: C:\GitLab-Runner 。
  2. 下载x86amd64的二进制文件并将其放入您创建的文件夹中。将二进制文件重命名为 gitlab-runner.exe 。您可以按Bleeding Edge中的描述为每个可用版本下载二进制文件 - 下载任何其他标记版本
  3. 运行提升的命令提示符
    1. 按Windows键或单击开始按钮。
    2. 类型PowerShell
    3. 单击鼠标右键Windows PowerShell,然后选择Run as administrator
  4. 注册GitLab Runner
    获取Token:
    # https://docs.gitlab.com/runner/register/index.html
    # -运行以下命令
    gitlab-runner.exe register # -输入您的GitLab实例URL
    http://47.111.84.191/ # -输入您获得的Token
    # 在项目的 Settings->Pipelines中可以找到
    JGGzoYj_uQoxQVGjWnKn # -输入Runner的描述,您可以稍后在GitLab的UI中更改
    local-win # -输入与Runner关联的tags,您可以稍后在GitLab的UI中更改,可以不输入 # -输入Runner执行程序:
    shell

  5. 添加用户

  6. SSH 连接GitLab
    官方文档:https://docs.gitlab.com/ee/ssh/README.html#generating-a-new-ssh-key-pair如果 C:\Users\Administrator\.ssh 目录下有则可以使用已经存在的SSH key。
    生成SSH

    ssh-keygen -o -t rsa -b  -C "786744873@qq.com"

  7. SSH 连接 22 端口
    正常情况下你已经可以通过git命令来连接我们部署的gitlab,但这里不一样的是我们把容器的 22端口映射到了 host的 23上,我们需要指定端口来进连接。

    ssh -p  git@47.111.84.191
    C:\Users\Administrator\.ssh>ssh -p  git@47.111.84.191
    The authenticity of host '[47.111.84.191]:23 ([47.111.84.191]:23)' can't be established.
    ECDSA key fingerprint is SHA256:DAQttfMOxIIiNqgt/QIvL6tv1pwgPax/fsnBprwZhN0.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '[47.111.84.191]:23' (ECDSA) to the list of known hosts.
    Enter passphrase for key 'C:\Users\Administrator/.ssh/id_rsa':
    PTY allocation request failed on channel
    Welcome to GitLab, wyt!
    Connection to 47.111.84.191 closed.

Gitlab-CI Build Docker-compose自动发布

  1. 创建项目 beta2 
  2. 添加项目初始化

    # Git global setup
    git config --global user.name "wyt"
    git config --global user.email "786744873@qq.com" # Create a new repository
    git clone git@47.111.84.191:wyt/beta2.git
    cd beta2
    touch README.md
    git add README.md
    git commit -m "add README"
    git push -u origin master # Existing folder
    # cd existing_folder
    git init
    git remote add origin git@47.111.84.191:wyt/beta2.git
    git add .
    git commit -m "Initial commit"
    git push -u origin master # Existing Git repository
    cd existing_repo
    git remote rename origin old-origin
    git remote add origin git@47.111.84.191:wyt/beta2.git
    git push -u origin --all
    git push -u origin --tags
  3. 然后我们就可以看到我们的项目文件了
  4. 编辑.gitlab-ci.yml 执行任务
    我们只需要在根目录添加 .gitlab-ci.yml  输入两行命令即可。

    rtest:
    script:
    - cd User.API
    - docker-compose up -d --build --force-recreate

【ASP.NET Core分布式项目实战】(六)Gitlab安装的更多相关文章

  1. ASP.NET Core分布式项目实战

    ASP.NET Core开发者成长路线图 asp.net core 官方文档 https://docs.microsoft.com/zh-cn/aspnet/core/getting-started/ ...

  2. 【笔记目录2】ASP.NET Core分布式项目实战

    当前标签: ASP.NET Core分布式项目实战 共2页: 上一页 1 2  11.ClientCredential模式总结 GASA 2019-03-11 12:59 阅读:26 评论:0 10. ...

  3. 【笔记目录1】ASP.NET Core分布式项目实战

    当前标签: ASP.NET Core分布式项目实战 共2页: 1 2 下一页  35.Docker安装Mysql挂载Host Volume GASA 2019-06-20 22:02 阅读:51 评论 ...

  4. ASP.NET Core分布式项目实战-目录

    前言 今年是2018年,发现已经有4年没有写博客了,在这4年的时光里,接触了很多的.NET技术,自己的技术也得到很大的进步.在这段时光里面很感谢张队长以及其他开发者一直对.NET Core开源社区做出 ...

  5. 【ASP.NET Core分布式项目实战】(三)整理IdentityServer4 MVC授权、Consent功能实现

    本博客根据http://video.jessetalk.cn/my/course/5视频整理(内容可能会有部分,推荐看源视频学习) 前言 由于之前的博客都是基于其他的博客进行开发,现在重新整理一下方便 ...

  6. 【ASP.NET Core分布式项目实战】(五)Docker制作dotnet core控制台程序镜像

    Docker制作dotnet core控制台程序镜像 基于dotnet SDK 新建控制台程序 mkdir /home/console cd /home/console dotnet new cons ...

  7. 【ASP.NET Core分布式项目实战】(二)oauth2 + oidc 实现 server部分

    本博客根据http://video.jessetalk.cn/my/course/5视频整理(内容可能会有部分,推荐看源视频学习) 资料 我们基于之前的MvcCookieAuthSample来做开发 ...

  8. 【ASP.NET Core分布式项目实战】(一)IdentityServer4登录中心、oauth密码模式identity server4实现

    本博客根据http://video.jessetalk.cn/my/course/5视频整理 资料 OAuth2 流程:http://www.ruanyifeng.com/blog/2014/05/o ...

  9. 【ASP.NET Core分布式项目实战】(四)使用mysql/mysql-server安装mysql

    Docker安装Mysql 拉取镜像 docker pull mysql/mysql-server 运行mysql docker run -d -p : --name mysql01 mysql/my ...

随机推荐

  1. c# 类实例序列化反序列化json文件 (原发布 csdn 2017-10-01 20:02:12)

    前言 前段时间使用了net.json保存对象数据.添加完成后,测试发现300多实例数据保存加载json文件,速度比原方式(BinaryFormatter)慢.但是功能加上后也懒再删掉代码了,索性就采用 ...

  2. SQL索引管理器 - 用于SQL Server和Azure上的索引维护的免费GUI工具

    我作为SQL Server DBA工作了8年多,管理和优化服务器的性能.在我的空闲时间,我想为宇宙和我的同事做一些有用的事情.这就是我们最终为SQL Server和Azure 提供免费索引维护工具的方 ...

  3. windows 10 配置Java 环境变量(5步骤)

    前提:1.windows 10 系统(不是win8,也不是win7)2.安装JDK步骤 1. 打开 环境变量窗口右键 This PC(此电脑) -> Properties(属性) -> A ...

  4. JS 弹窗“是否删除”

    var r = confirm("是否确认删除!");if (r == true) {location.href = "/Employees/Delete/" ...

  5. php 获取文件下的所有文件。php 获取文件下的所有子文件。php 递归获取文件下的所有文件。封装好的方法

    //php 获取文件下的所有文件.php 获取文件下的所有子文件.php 递归获取文件下的所有文件.直接上封装好的php代码 <?php //文件路径 $dir = dirname(__FILE ...

  6. C# abstract class Interface的介绍

    1.基本概念介绍 抽象类: 1.抽象方法只作声明,而不包含实现,可以看成是没有实现体的虚方法 2.抽象类可以但不是必须有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要把这个类声明为抽象类 3.具体 ...

  7. 【转】Git使用教程之基础篇

    Git使用教程 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是 ...

  8. 如何做一个跨平台的游戏App?

    如何做一个跨平台的游戏App? iOS和安卓系统上的应用程序,根据提供的内容不同,按照开发方式和用户体验不同,可区分为app和游戏: 首先从开发方式不同来说明,app开发一般是用操作系统官方提供的开发 ...

  9. JVM Code Cache空间不足,导致服务性能变慢

    本文阅读时间大约5分钟. 有业务反馈,线上一个应用运行了一段时间之后,在高峰期之后,突然发现处理能力下降,接口的响应时间变长,但是看Cat上的GC数据,一切都很正常. 通过跳板机上机器查看日志,发现一 ...

  10. django rest_framework vue 实现用户登录

    django rest_framework vue 实现用户登录 后端代码就不介绍了,可以参考  django rest_framework 实现用户登录认证 这里介绍一下前端代码,和前后端的联调过程 ...