Gitlab

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

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

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

  1. 拉取镜像

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

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

    1. docker logs --follow gitlab
  4. 修改配置
    1. vim /srv/gitlab/config/gitlab.rb
    2.  
    3. external_url 'http://47.111.84.191/'
    4.  
    5. 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:
    1. # https://docs.gitlab.com/runner/register/index.html
    2. # -运行以下命令
    3. gitlab-runner.exe register
    4.  
    5. # -输入您的GitLab实例URL
    6. http://47.111.84.191/
    7.  
    8. # -输入您获得的Token
    9. # 在项目的 Settings->Pipelines中可以找到
    10. JGGzoYj_uQoxQVGjWnKn
    11.  
    12. # -输入Runner的描述,您可以稍后在GitLab的UI中更改
    13. local-win
    14.  
    15. # -输入与Runner关联的tags,您可以稍后在GitLab的UI中更改,可以不输入
    16.  
    17. # -输入Runner执行程序:
    18. 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

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

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

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

Gitlab-CI Build Docker-compose自动发布

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

    1. # Git global setup
    2. git config --global user.name "wyt"
    3. git config --global user.email "786744873@qq.com"
    4.  
    5. # Create a new repository
    6. git clone git@47.111.84.191:wyt/beta2.git
    7. cd beta2
    8. touch README.md
    9. git add README.md
    10. git commit -m "add README"
    11. git push -u origin master
    12.  
    13. # Existing folder
    14. # cd existing_folder
    15. git init
    16. git remote add origin git@47.111.84.191:wyt/beta2.git
    17. git add .
    18. git commit -m "Initial commit"
    19. git push -u origin master
    20.  
    21. # Existing Git repository
    22. cd existing_repo
    23. git remote rename origin old-origin
    24. git remote add origin git@47.111.84.191:wyt/beta2.git
    25. git push -u origin --all
    26. git push -u origin --tags
  3. 然后我们就可以看到我们的项目文件了
  4. 编辑.gitlab-ci.yml 执行任务
    我们只需要在根目录添加 .gitlab-ci.yml  输入两行命令即可。

    1. rtest:
    2. script:
    3. - cd User.API
    4. - 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. Prometheus Alertmanager 介绍详解

    Prometheus 之 Alertmanager 介绍详解 告警无疑是监控中非常重要的环节,虽然监控数据可视化了,也非常容易观察到运行状态.但我们很难做到时刻盯着监控,所以程序来帮巡检并自动告警,这 ...

  2. sqlserver之datepart和datediff应用查找当天上午和下午的数据

    DATEPART() 函数用于返回日期/时间的单独部分,比如年.月.日.小时.分钟等等. DATEDIFF() 函数返回两个日期之间的时间差. --查找当天上午的数据 ) --查找当天下午的数据 ) ...

  3. oracle 更新日期字段

    update field set BEGINDATE=to_date('2017-02-03 10:30:20','yyyy-mm-dd hh24:mi:ss')

  4. LearnOpenGL笔记(1)搭建环境

    之前有写过Unity Shader,但不过是东拼西凑,对其中的原理可以说完全不清楚,现在准备好好从opengl开始,学习这基础又重要的内容. LearnOpenGL CN是一个超超超炒鸡好的openG ...

  5. QT多线程中使用QTcpSocket遇到的读写数据问题

    多线程中使用QTcpSocket在run()方法中new QTcpSocket;然后监听readyRead()信号connect(m_pTcpSocket,SIGNAL(readyRead()),th ...

  6. Zifencei扩展

    fence 指令对外部可见的访存请求,如设备 I / O 访问,内存访问等进行串行化.外部可见是指对处理器的其他核心.线程,外部设备或协处理器可见. fence.i 指令同步指令和数据流.在执行 fe ...

  7. 存货?交期?产能不足?APS系统帮你完成计划排程

    信息化时代的今天,技术的进步.全球化的竞争与市场环境迅速变化,使得制造业企业的经营环境变得日益复杂. 集中表现在产品生命周期和交货期的缩短,与此同时顾客的需求也变得多样化和个性化.生产方式也从大批量生 ...

  8. Fluter基础巩固之Dart语言详解<一>

    在上一篇https://www.cnblogs.com/webor2006/p/11367345.html中咱们已经搭建好了Flutter的开发环境了,而Flutter的开发语言是选用的dart,那么 ...

  9. 京东js加密 nloginpwd 破解

    京东登录,有一个参数nloginpwd,是加密字段. 第一步:浏览器抓包 第二部:搜索加密字段 js 代码 第三部: 下断点 2. js代码: var navigator = {}; var wind ...

  10. load address、entry point、 bootm address以及kernel运行地址

    load address:加载地址   load_addr      mkimage -a entry point: 入口地址     entry_point     mkimage -e bootm ...