一直对 DevOps 感兴趣,最近心血来潮,搭乘 Docker 搞一搞,Let‘s Go !!!

  • 1.拉取 GitLab 
docker pull gitlab/gitlab-ce
  • 2.Run GitLab 
  docker run -d
  --name gitlab
  --restart always
  --hostname 192.168.0.218
  --env GITLAB_OMNIBUS_CONFIG="external_url 'http://192.168.0.218/'; gitlab_rails['lfs_enabled'] = true;"
  -p 443:443 -p 80:80 -p 22:22
  -v /srv/gitlab/config:/etc/gitlab
  -v /srv/gitlab/logs:/var/log/gitlab
  -v /srv/gitlab/data:/var/opt/gitlab 
  gitlab/gitlab-ce:latest

这一步很慢,要好几分钟,可以查看 log ,看到 ok 再访问,host 必须要设置,不然会是 docker 生成的一个数字,现在你就可以访问 http://localhost 看到 GitLab 了

  • 3.生成 Token

这是留着下边用的

  • 3.注册 GitLab Runner

其中第2个的 token 是在 gitlab 里 Setting——CI/CD——Runner 里给的(如下图),成功后可以在 gitlab 里看到一个 runner

  • 4.拉取 SonarQube
docker pull sonarqube
  • 5.Run SonarQube
docker run -d --name sonarqube -p 9000:9000 -p 9092:9092 sonarqube

现在你就可以访问你的 http://localhost:9000 , 登录——用户名:admin 密码:admin

1.Token——gitlab 的 Setting——Access Tokens——Personal Access Tokens

2.选择项目语言,填写 unique project key

3.根据右边弹出提示完成步骤

下载:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+MSBuild

命令:

SonarQube.Scanner.MSBuild.exe begin /k:"testproject2" /d:sonar.host.url="http://localhost:9000" /d:sonar.login="ae471877adee54f312188a0b5d92be11289c1436"

MsBuild.exe /t:Rebuild

SonarQube.Scanner.MSBuild.exe end /d:sonar.login="ae471877adee54f312188a0b5d92be11289c1436"

为了把 SonarQube 加到 gitlab 里,需要在 SonarQube 里添加 GitLab ,方法 Administration——Marketplace 添加上 GitLab

然后在配置里找到 GitLab 标签,右边填写上 GitLab url 和 GitLab User Token

  • 6.配置  .gitlab-ci.yml

由于我还不熟悉配置这个地方,先略过一下

  • 7.拉取 Jenkins
docker pull jenkins/jenkins
  • 8.Run Jenkins
docker run -d --name jenkins -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts

这时会出现很多日志,但都不重要,最后出现的*******的位置的才重要,因为是 Unlock Jenkins 的密钥,你说重要不重要,简单截个图

如果你忘了复制这个也没关系,再用命令找回来就可以

docker logs jenkins(镜像名称)

访问 http://localhost:8800/,输入密钥,安装插件,填写 admin 密码。

  •  9.配置 Jenkins 

1. 安装 GitLab 插件:系统管理——插件管理——安装 GitLab 插件,重启 Jenkins

2. 配置 GitLab:系统管理——系统设置——填写 GitLab 配置

Add 里边选 GitLab API token,然后填上之前的 GitLab 的 Token

之后就是创建任务了,具体还是要根据你的项目需要来决定,这里先略过一下

  • 9.拉取 Portainer
docker pull portainer/portainer
  • 10.Run Portainer
docker run -d --name portainer -p 9090:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer

注册一个用户

点击 local  后进入到 dashboard 页面,也可以管理公有云上的,此处以单机版为例

如图所示,这里可以很轻松的创建和管理  Container ,比上边的命令好用很多,比如 Containers 菜单里的 Create Container 可以创建一个新的 Container。更多功能等待你的挖掘,此处略过,只是想告诉大家先学习基础再用工具,基础还是很重要的。

上边略过了2处配置的地方,所以没有跑一个完整的流程,但是我想配置的地方还是对的,配置之后再补齐吧

基于 Docker 的 DevOps 搭建的更多相关文章

  1. 基于Docker的服务器搭建

    -----------基于Docker的多种服务器搭建----------- 开发环境 本机上的虚拟机 Centos7.4 Docker1.13.1 Openssl1.1.1 1 Nginx 1.1 ...

  2. 基于 Docker 实现 DevOps 的一些探索

    DevOps 介绍 DevOps(Deveplopment 和 Operations 的简称),中译为开发运维一体化,可定义为是一种过程.方法.文化.运动或实践,主要是为了通过一条高度自动化的流水线来 ...

  3. 基于docker+reveal.js搭建一个属于自己的在线ppt网站

    前言 最近热衷于Docker,由于这段时间使用Docker来折腾自己的服务器,越来越感觉这是一种及其被应该推广的技术,因此想在公司内部也做一次技术分享.当然,如果只是做的PPT,我就不写这文章了.既然 ...

  4. 基于Docker+Jenkins+Gitlab搭建持续集成环境

    随着DevOps理念和敏捷理念的发展,我们希望通过自动化技术,加快项目的迭代.尤其是当使用微服务方案后,面临在大量的项目构建和部署工作,借助于jenkins的持续集成,可以快速把应用打包成docker ...

  5. 中小团队基于Docker的devops实践

    笔者所在的技术团队负责了数十个项目的开发和维护工作,每个项目都至少有dev.qa.hidden.product四个环境,数百台机器,在各个系统之间疲于奔命,解决各种琐碎的问题,如何从这些琐碎的事情中解 ...

  6. 基于Docker和Golang搭建Web服务器

    1 场景描述 基于centos7的docker镜像搭建golang开发环境 在docker容器内,使用golang实现一个Web服务器 启动docker容器,并在容器内启动Web服务器 我购买了一个最 ...

  7. 基于Docker的GitLab搭建

    今天写一些Docker搭建GitLab,好久没有写博客园了,今天又回来了,为了学习技术? 建议使用Linux内核系统,或者虚拟机,首先安装docker环境(菜鸟教程) 一.下载镜像文件 如果慢的话,可 ...

  8. 金瓯无缺江河一统|Win10系统基于Docker和Python3搭建并维护统一认证系统OpenLdap

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_180 OpenLdap(Lightweight Directory Access Protocol)是什么?它其实是一个开源的.具 ...

  9. 基于docker环境,搭建 jetty环境, 部署java项目

    前提: 1.Ubuntu 系统. 2.docker环境已经安装好. 实现步骤: 1.上docker hub 下载jetty docker 镜像. 执行命令:$ sudo docker pull jet ...

随机推荐

  1. 使用Spring Animation的API创建动画

    pring Animation 是一种特殊的动画曲线,自从 iOS 7 开始被广泛应用在系统动画中. Spring Animation 是Linear(线性即匀速)动画.Ease-out(即动画减速地 ...

  2. 洛谷P3935 Calculating (莫比乌斯反演)

    P3935 Calculating 题目描述 若xx分解质因数结果为\(x=p_1^{k_1}p_2^{k_2}\cdots p_n^{k_n},令f(x)=(k_1+1)(k_2+1)\cdots ...

  3. HDU 2639 背包第k优解

    Bone Collector II Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  4. mac之os x系统下搭建nodejs+express4.x+mongodb+gruntjs整套前端工程

    第一次在Mac OS X上搭建前端开发环境,做一个小小记录,包括一些与windows系统的区别和常用快捷键 首先,在进行环境搭建之前先来看一下苹果系统的“cmd”,也就是Terminal(终端). 打 ...

  5. JS如何判断是不是iphoneX

    function isIphoneX(){ return /iphone/gi.test(navigator.userAgent) && (screen.height == 812 & ...

  6. 第01篇 说一下Setting,我一直没有讲过

        settings 调整 settings 中的设置是非常关键的,它们会改变 MyBatis 的运行时行为.下表描述了设置中各项的意图.默认值等. 设置参数 描述 有效值 默认值 cacheEn ...

  7. idea中设置springboot热部署

    在idea中设置springboot热部署,项目修改的时候不用手动重启应用 1,pom中添加依赖 <dependency> <groupId>org.springframewo ...

  8. Mysql优化小记1

    在项目开发中,需要写个windows服务从sqlserver复制数据到mysql(5.6.13 Win64(x86_64)),然后对这些数据进行计算分析.每15分钟复制一次,每次复制大概200条数据, ...

  9. 【洛谷 P3187】 [HNOI2007]最小矩形覆盖 (二维凸包,旋转卡壳)

    题目链接 嗯,毒瘤题. 首先有一个结论,就是最小矩形一定有条边和凸包重合.脑补一下就好了. 然后枚举凸包的边,用旋转卡壳维护上顶点.左端点.右端点就好了. 上顶点用叉积,叉积越大三角形面积越大,对应的 ...

  10. John's trip(POJ1041+欧拉回路+打印路径)

    题目链接:http://poj.org/problem?id=1041 题目: 题意:给你n条街道,m个路口,每次输入以0 0结束,给你的u v t分别表示路口u和v由t这条街道连接,要输出从起点出发 ...