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. logstash之mongodb-log

    1.logstash6.5.3 配置收集mongodb的日志: 首先在mongodb服务器上部署filebeat收集日志并上传到logstash进行处理,然后上传到ES. filebeat-conf: ...

  2. 在AWS中自定义Credential Provider实现Client连接

    今天在使用AWS中,由于原来的 key和secrect是放在配置文件ini里面的.现在需要改成从DB里面获取,所以需要自定义Credential.在AWS中重写这个挺简单的. 我这里是继承原先的Cre ...

  3. Python【day 9】函数入门1

    1.什么是函数 函数的概念:对功能或者动作的封装 函数的好处:避免重复代码 2.函数的定义 1.函数的定义 def 函数名(形参列表): 函数体(return) 2.函数的调用 函数名(实参列表) 3 ...

  4. Python学习笔记之try-except

    Python使用被称为异常的特殊对象来管理程序执行期间发生的错误.每当发生让Python不知所措的错误时,它都会创建一个异常对象.如果你编写了处理该异常的代码,程序将继续运行:如果你未对异常进行处理, ...

  5. open live writer安装以及代码高亮、折叠插件安装

    一.目的 方便在本地写博客,不用在浏览器上写. 二.open live writer的安装 下载open live writer 这是我的 链接:https://pan.baidu.com/s/1u8 ...

  6. 英语cowbezoar牛黄cowbezoar单词

    牛黄(cowbezoar)是脊索动物门哺乳纲牛科动物牛胆囊的胆结石.在胆囊中产生的称“胆黄”或“蛋黄”,在胆管中产生的称“管黄”,在肝管中产生的称“肝黄”. 中文学名牛黄 拉丁学名Bos taurus ...

  7. maven 学习---Maven教程

    Apache Maven是一个软件项目管理和综合工具.基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件. 本教程将介绍如何使用Maven在Java开发,或任何其 ...

  8. Django框架(十三)--Django分页组件

    一.分页器 数据量大的话,可以分页获取,查看 例如:图书管理中,如果有成千上万本书,要是都在一个页面中渲染出来,会影响页面美观,所以就要用分页器分页渲染 二.分页器的使用 基本写法 基本写法: 后端: ...

  9. 《linux就该这么学》课堂笔记18 squid服务

    Squid服务程序正向解析和反向解析 正向代理模式不仅可以让用户使用Squid代理服务器上网,还可以基于指定的IP地址.域名关键词.网站地址或下载文件后缀等信息,实现类似于访问控制列表的功能.反向代理 ...

  10. 大数据技术原理与应用:【第二讲】大数据处理架构Hadoop

    2.1 Hadoop概论 创始人:Doug Cutting 1.简介: 开源免费; 操作简单,极大降低使用的复杂性; Hadoop是Java开发的; 在Hadoop上开发应用支持多种编程语言.不限于J ...