mirror of
https://github.com/DefectingCat/DefectingCat.github.io
synced 2025-07-15 16:51:37 +00:00
7 lines
16 KiB
HTML
7 lines
16 KiB
HTML
<!DOCTYPE html><html lang="zh-CN" data-default-color-scheme=""auto""><head><meta charset="UTF-8"><link rel="apple-touch-icon" sizes="76x76" href="/images/img/apple-touch-icon.webp"><link rel="icon" type="image/png" href="/images/img/favicon.webp"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,shrink-to-fit=no"><meta http-equiv="x-ua-compatible" content="ie=edge"><meta name="theme-color" content="#9DC8C8"><meta name="description" content=""><meta name="author" content="Defectink"><meta name="keywords" content=""><title>Gitlab尝鲜 - 🍭Defectink</title><link rel="stylesheet" href="https://cdn.defectink.com/static/twitter-bootstrap/4.5.3/css/bootstrap.min.css"><link rel="stylesheet" href="https://cdn.defectink.com/static/github-markdown-css/4.0.0/github-markdown.min.css"><link rel="stylesheet" href="/lib/hint/hint.min.css"><link rel="stylesheet" href="https://cdn.defectink.com/static/highlight.js/10.0.0/styles/github-gist.min.css"><link rel="stylesheet" href="//at.alicdn.com/t/font_1749284_ba1fz6golrf.css"><link rel="stylesheet" href="https://cdn.defectink.com/static/t/font_1736178_kmeydafke9r.css"><link rel="stylesheet" href="/css/main.css"><link rel="stylesheet" href="/css/xfy.css"><script src="/js/utils.js"></script><script src="/js/color-schema.js"></script><meta name="generator" content="Hexo 5.2.0"><link rel="alternate" href="/xml/atom.xml" title="🍭Defectink" type="application/atom+xml"><link rel="alternate" href="/xml/rss.xml" title="🍭Defectink" type="application/rss+xml"></head><body><header style="height:75vh"><nav id="navbar" class="navbar fixed-top navbar-expand-lg navbar-dark scrolling-navbar"><div class="container"><a class="navbar-brand" href="/"> <strong>🍭Defectink</strong> </a> <button id="navbar-toggler-btn" class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"><div class="animated-icon"><span></span><span></span><span></span></div></button><div class="collapse navbar-collapse" id="navbarSupportedContent"><ul class="navbar-nav ml-auto text-center"><li class="nav-item"><a class="nav-link" href="/">🏠 首页</a></li><li class="nav-item dropdown"><a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">📕 索引</a><div class="dropdown-menu" aria-labelledby="navbarDropdown"><a class="dropdown-item" href="/categories/">🎁 分类</a> <a class="dropdown-item" href="/tags/">🎐 标签</a></div></li><li class="nav-item"><a class="nav-link" href="/archives/">📂 归档</a></li><li class="nav-item"><a class="nav-link" href="/about/">🎃 关于</a></li><li class="nav-item"><a class="nav-link" href="/links/">🙆♀️ 小伙伴</a></li><li class="nav-item"><a class="nav-link" href="/pgp/">🔐 PGP</a></li><li class="nav-item" id="search-btn"><a class="nav-link" data-toggle="modal" data-target="#modalSearch"> <i class="iconfont icon-search"></i> </a></li><li class="nav-item" id="color-toggle-btn"><a class="nav-link" href="javascript:"> <i class="iconfont icon-dark" id="color-toggle-icon"></i> </a></li></ul></div></div></nav><div class="banner intro-2" id="background" parallax="true" style="background:url(/images/img/post.webp) no-repeat center center;background-size:cover"><div class="full-bg-img"><div class="mask flex-center" style="background-color:rgba(0,0,0,.3)"><div class="container page-header text-center fade-in-up"><span class="h2" id="subtitle"></span><div class="mt-3"><span class="post-meta mr-2"><i class="iconfont icon-author" aria-hidden="true"></i> Defectink</span><span class="post-meta"><i class="iconfont icon-date-fill" aria-hidden="true"></i> <time datetime="2019-06-19 15:42" pubdate>2019年6月19日 下午</time></span></div><div class="mt-1"><span class="post-meta mr-2"><i class="iconfont icon-chart"></i> 936 字</span><span class="post-meta mr-2"><i class="iconfont icon-clock-fill"></i> 10 分钟</span></div></div></div></div></div></header><main><div class="container-fluid"><div class="row"><div class="d-none d-lg-block col-lg-2"></div><div class="col-lg-8 nopadding-md"><div class="container nopadding-md" id="board-ctn"><div class="py-5" id="board"><article class="post-content mx-auto" id="post"><h1 style="display:none">Gitlab尝鲜</h1><p class="note note-info">本文最后水于:2020年11月2日 凌晨</p><div class="markdown-body" id="post-body"><h2 id="Gitlab"><a href="#Gitlab" class="headerlink" title="Gitlab?"></a>Gitlab?</h2><p><strong>GitLab</strong>是由GitLab Inc.开发,使用<a target="_blank" rel="noopener" href="https://zh.wikipedia.org/wiki/MIT%E8%A8%B1%E5%8F%AF%E8%AD%89">MIT许可证</a>的基于<a target="_blank" rel="noopener" href="https://zh.wikipedia.org/wiki/%E4%BA%92%E8%81%94%E7%BD%91">网络</a>的<a target="_blank" rel="noopener" href="https://zh.wikipedia.org/wiki/Git">Git</a><a target="_blank" rel="noopener" href="https://zh.wikipedia.org/wiki/%E4%BB%93%E5%BA%93_(%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6)">仓库</a>管理工具,且具有<a target="_blank" rel="noopener" href="https://zh.wikipedia.org/wiki/Wiki">wiki</a>和<a target="_blank" rel="noopener" href="https://zh.wikipedia.org/wiki/%E4%BA%8B%E5%8A%A1%E8%B7%9F%E8%B8%AA%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F">issue跟踪</a>功能。</p><p>它是一款和常见的Github很像仓库管理工具,大体使用上和Github很像。前端页面也很好看,主要的是安装非常的方便,它集成了自身需要的nginx的服务端。</p><p>起初是由Ruby写成,后来部分由Go语言重写。</p><p>最早,它是完全免费的开源软件,按照 MIT 许可证分发。毕竟人家是公司,后来Gitlab被拆分成GitLab CE(社区版)和 GitLab EE(企业版)。和如今的模式一样,ce是完全免费使用的社区版,而ee是可以进行试用且更多功能的收费版。</p><p><img src="../images/Gitlab%E5%B0%9D%E9%B2%9C/52152339.webp" srcset="/images/img/loading.gif" alt="52152339"></p><h2 id="安装部署"><a href="#安装部署" class="headerlink" title="安装部署"></a>安装部署</h2><p><a target="_blank" rel="noopener" href="https://about.gitlab.com/install/">官方</a>拥有详细的安装操作文档,并且对于不同的Linux发行版也有着不同的软件仓库源。除此之外,我们还可以选择其他的安装方式,如Docker等。</p><p>我当前是部署在Ubuntu上的,系统信息:</p><p><img src="../images/Gitlab%E5%B0%9D%E9%B2%9C/411390967.webp" srcset="/images/img/loading.gif" alt="411390967"></p><pre><code>官方是推荐系统空闲内存在4GB以上的,对于类似我们这样的个人使用的较少的来说,推荐空闲内存是2GB以上。毕竟它会自己运行一套nginx、redis等服务端。</code></pre><p>自家的开源地址:<a target="_blank" rel="noopener" href="https://gitlab.com/gitlab-org/gitlab-ce/">Gitlab</a></p><p>相对于从源码安装来说,自家提供的相应的软件包更加的方便,也更不会容易出错。我们只需要选择相应的操作系统即可。</p><p>这里仅以Ubunt示例:</p><p>首先安装需要的相关依赖:</p><pre><code class="hljs pgsql">sudo apt-<span class="hljs-keyword">get</span> <span class="hljs-keyword">update</span>
|
||
sudo apt-<span class="hljs-keyword">get</span> install -y curl openssh-<span class="hljs-keyword">server</span> ca-certificates</code></pre><p>如果我们不使用外部的SMTP来发邮件的话,Gitlab可以使用postfix来进行发邮件。当然对我们完全不需要发邮件的这个需求的话,这步完全可以跳过。</p><pre><code class="hljs maxima">sudo apt-<span class="hljs-built_in">get</span> install -y <span class="hljs-built_in">postfix</span></code></pre><p>基本依赖安装完后,随后可以添加Gitlab的源来进行安装软件了:</p><pre><code class="hljs awk">curl https:<span class="hljs-regexp">//</span>packages.gitlab.com<span class="hljs-regexp">/install/</span>repositories<span class="hljs-regexp">/gitlab/gi</span>tlab-ce/script.deb.sh | sudo bash
|
||
curl https:<span class="hljs-regexp">//</span>packages.gitlab.com<span class="hljs-regexp">/install/</span>repositories<span class="hljs-regexp">/gitlab/gi</span>tlab-ee/script.deb.sh | sudo bash</code></pre><p><em>注意ce和ee的区别</em></p><p>接下来,我们就可以使用<code>apt</code>来进行安装GItlab-ce了。修改下方命令的<code>https://gitlab.example.com</code>为自己Gitlab运行的域名。安装程序将自动配置该网址启动Gitlab</p><p>对于需要启用<code>https</code>的小伙伴们,Gitlab可以自动请求[<a target="_blank" rel="noopener" href="https://docs.gitlab.com/omnibus/settings/ssl.html#lets-encrypthttpsletsencryptorg-integration">Let’s Encrypt</a>]的证书,方便我们一步到位。当然我们也可以使用自己的证书。</p><pre><code class="hljs routeros">sudo <span class="hljs-attribute">EXTERNAL_URL</span>=<span class="hljs-string">"https://gitlab.example.com"</span> apt-<span class="hljs-builtin-name">get</span> install gitlab-ce</code></pre><p>到这里就安装的差不多了,此时我们可以打开自己的Gitlab。第一次访问时会被重定向到设定<code>root</code>密码的界面。设置完成后我们的Gitlab就安装完成了。初始管理员的账户就是<code>root</code></p><p>由官方给我们提供的安装方式是不是相对来说非常的简单呢?</p><h2 id="使用"><a href="#使用" class="headerlink" title="使用"></a>使用</h2><p><img src="../images/Gitlab%E5%B0%9D%E9%B2%9C/99634888.webp" srcset="/images/img/loading.gif" alt="99634888"></p><p>简洁多彩的界面也时非常的好看的。默认没有配置邮件的情况下是可以随意注册的,我们也可以在后台配置里关闭自动注册,作为一个私人的git仓库。也可以手动添加用户给想尝鲜的小伙伴们。</p><p>当然,Gitlab只是一个仓库源的管理工具,提供了类似与Github的功能。对于我们终端使用git来说,还是和Github一模一样。并且我们可以将其部署在国内的主机上,来提升某些情况到Github速度奇慢无比的问题。</p><h2 id="启动与管理"><a href="#启动与管理" class="headerlink" title="启动与管理"></a>启动与管理</h2><pre><code class="hljs powershell"><span class="hljs-variable">$</span> sudo gitlab<span class="hljs-literal">-ctl</span> reconfigure
|
||
<span class="hljs-variable">$</span> sudo gitlab<span class="hljs-literal">-ctl</span> status
|
||
<span class="hljs-variable">$</span> sudo gitlab<span class="hljs-literal">-ctl</span> stop
|
||
<span class="hljs-variable">$</span> sudo gitlab<span class="hljs-literal">-ctl</span> restart
|
||
<span class="hljs-variable">$</span> sudo <span class="hljs-built_in">ps</span> aux | grep runsvdir</code></pre></div><hr><div><div class="post-metas mb-3"><div class="post-meta mr-3"><i class="iconfont icon-category"></i> <a class="hover-with-bg" href="/categories/%E5%AE%9E%E8%B7%B5/">实践</a></div><div class="post-meta"><i class="iconfont icon-tags"></i> <a class="hover-with-bg" href="/tags/Linux/">Linux</a></div></div><p class="note note-warning"><a target="_blank" href="https://zh.wikipedia.org/wiki/Wikipedia:CC_BY-SA_3.0%E5%8D%8F%E8%AE%AE%E6%96%87%E6%9C%AC" rel="nofollow noopener noopener">CC BY-SA 3.0❤</a></p><div class="post-prevnext row"><article class="post-prev col-6"><a href="/defect/alioss-for-typecho.html"><i class="iconfont icon-arrowleft"></i> <span class="hidden-mobile">AliOssForTypecho</span> <span class="visible-mobile">上一篇</span></a></article><article class="post-next col-6"><a href="/defect/basic-knowledge-of-systemd.html"><span class="hidden-mobile">systemd的基础操作</span> <span class="visible-mobile">下一篇</span><i class="iconfont icon-arrowright"></i></a></article></div></div><article class="comments" id="comments"><div id="vcomments"></div><script type="text/javascript">function loadValine(){addScript("https://cdn.defectink.com/static/valine/1.4.14/Valine.min.js",function(){new Valine({el:"#vcomments",app_id:"dD9t7mcIBVzJWag5ez6GPy2v-MdYXbMMI",app_key:"bWG6pmKsEscrH4JjrpNNAAy6",placeholder:"嘤嘤嘤???",path:window.location.pathname,avatar:"retro",meta:["nick","mail","link"],pageSize:"10",lang:"zh-CN",highlight:!0,recordIP:!1,serverURLs:""})})}waitElementVisible("vcomments",loadValine)</script><noscript>Please enable JavaScript to view the <a target="_blank" href="https://valine.js.org" rel="nofollow noopener noopener">comments powered by Valine.</a></noscript></article></article></div></div></div><div class="d-none d-lg-block col-lg-2 toc-container" id="toc-ctn"><div id="toc"><p class="toc-header"><i class="iconfont icon-list"></i> 目录</p><div id="tocbot"></div></div></div></div></div></main><a id="scroll-top-button" href="#" role="button"><i class="iconfont icon-arrowup" aria-hidden="true"></i></a><div class="modal fade" id="modalSearch" tabindex="-1" role="dialog" aria-labelledby="ModalLabel" aria-hidden="true"><div class="modal-dialog modal-dialog-scrollable modal-lg" role="document"><div class="modal-content"><div class="modal-header text-center"><h4 class="modal-title w-100 font-weight-bold">搜索</h4><button type="button" id="local-search-close" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button></div><div class="modal-body mx-3"><div class="md-form mb-5"><input type="text" id="local-search-input" class="form-control validate"> <label data-error="x" data-success="v" for="local-search-input">关键词</label></div><div class="list-group" id="local-search-result"></div></div></div></div></div><footer class="text-center mt-5 py-3"><div class="footer-content"><a href="https://hexo.io" target="_blank" rel="nofollow noopener"><span>Hexo</span></a><i class="iconfont icon-love"></i> <a href="https://github.com/fluid-dev/hexo-theme-fluid" target="_blank" rel="nofollow noopener"><span>Fluid</span></a></div><div class="beian"><a href="http://beian.miit.gov.cn/" target="_blank" rel="nofollow noopener">皖ICP备17017808号</a></div></footer><script src="https://cdn.defectink.com/static/jquery/3.4.1/jquery.min.js"></script><script src="https://cdn.defectink.com/static/twitter-bootstrap/4.5.3/js/bootstrap.min.js"></script><script src="/js/debouncer.js"></script><script src="/js/main.js"></script><script src="/js/lazyload.js"></script><script defer="defer" src="https://cdn.defectink.com/static/clipboard.js/2.0.6/clipboard.min.js"></script><script src="/js/clipboard-use.js"></script><script src="/js/xfy.js"></script><script src="https://cdn.defectink.com/static/tocbot/4.11.1/tocbot.min.js"></script><script>$(document).ready(function(){var t=$("#board-ctn").offset().top;tocbot.init({tocSelector:"#tocbot",contentSelector:"#post-body",headingSelector:"h1,h2,h3,h4,h5,h6",linkClass:"tocbot-link",activeLinkClass:"tocbot-active-link",listClass:"tocbot-list",isCollapsedClass:"tocbot-is-collapsed",collapsibleClass:"tocbot-is-collapsible",collapseDepth:3,scrollSmooth:!0,headingsOffset:-t}),0<$(".toc-list-item").length&&$("#toc").css("visibility","visible")})</script><script src="https://cdn.defectink.com/static/typed.js/2.0.11/typed.min.js"></script><script>var typed=new Typed("#subtitle",{strings:[" ","Gitlab尝鲜 "],cursorChar:"❤",typeSpeed:70,loop:!1});typed.stop(),$(document).ready(function(){$(".typed-cursor").addClass("h2"),typed.start()})</script><script src="/js/local-search.js"></script><script>var path="/xml/local-search.xml",inputArea=document.querySelector("#local-search-input");inputArea.onclick=function(){searchFunc(path,"local-search-input","local-search-result"),this.onclick=null}</script><script src="https://cdn.defectink.com/static/fancybox/3.5.7/jquery.fancybox.min.js"></script><link rel="stylesheet" href="https://cdn.defectink.com/static/fancybox/3.5.7/jquery.fancybox.min.css"><script>$("#post img:not(.no-zoom img, img[no-zoom]), img[zoom]").each(function(){var t=document.createElement("a");$(t).attr("data-fancybox","images"),$(t).attr("href",$(this).attr("src")),$(this).wrap(t)})</script><script src="https://cdn.defectink.com/static/mermaid/8.5.0/mermaid.min.js"></script><script>window.mermaid&&mermaid.initialize({theme:"default"})</script></body></html> |