<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Github on 轻语慕心</title>
    <link>https://muxin.io/tags/github/</link>
    <description>Recent content in Github on 轻语慕心</description>
    <generator>Hugo</generator>
    <language>zh-CN</language>
    <lastBuildDate>Mon, 04 May 2020 23:34:05 +0000</lastBuildDate>
    <atom:link href="https://muxin.io/tags/github/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>源代码迁移到github咯~</title>
      <link>https://muxin.io/posts/2020-05-04-move-to-github/</link>
      <pubDate>Mon, 04 May 2020 23:34:05 +0000</pubDate>
      <guid>https://muxin.io/posts/2020-05-04-move-to-github/</guid>
      <description>&lt;p&gt;其实很早就看到github开放免费的私有仓库了（翻了翻资料是19年初了），但是因为这套gitlab-ci用的很好的，所以没有迁移的动力。&lt;/p&gt;
&lt;p&gt;五一终于腾出时间看了一下github上对标的workflow功能，也是蛮有意思的。趁着这个空档，也就一并迁过来了。&lt;/p&gt;
&lt;p&gt;为啥会非要私有仓库？那是因为翻墙代码也在上面啊，考虑再三还是把密码啥的写到代码里最好维护，部署起来也方便。但这个要是公开了，蹭我翻墙也就不说了，喝茶去了就搞笑了。。&lt;/p&gt;
&lt;p&gt;迁移了四个仓库过来，总共花费了6小时…研究了下workflow有点费劲。顺手也把老掉牙的hexo和next版本升了一下，看起来没啥大问题。&lt;/p&gt;
&lt;h3 id=&#34;几个仓库&#34;&gt;几个仓库&lt;/h3&gt;
&lt;p&gt;&lt;img alt=&#34;image&#34; loading=&#34;lazy&#34; src=&#34;https://muxin.io/posts/2020-05-04-move-to-github/gitlab-projects.png&#34;&gt;&lt;/p&gt;
&lt;h4 id=&#34;gaia&#34;&gt;gaia&lt;/h4&gt;
&lt;p&gt;这是一个总体的网关，里面包含了一个核心nginx，嵌了多个域名和转发。同时本hexo工程也在里面，主要是考虑到单独拆一个还需要再搞个nginx，麻烦。单纯的配置，就公开了。&lt;/p&gt;
&lt;h4 id=&#34;chronos&#34;&gt;chronos&lt;/h4&gt;
&lt;p&gt;这个是闲的没事儿用go写的，本来想实现一个网站登录，但是后来一直没继续写下去，之后会继续在上面搞的。但我最近又觉得Python不错，后面看会不会开个Python的东西出来了，也没啥敏感内容。&lt;/p&gt;
&lt;h4 id=&#34;v2ray&#34;&gt;v2ray&lt;/h4&gt;
&lt;p&gt;这东西就不说了。就是个翻墙了，迁过来也是私有了。主要是有私有的key之类的东西，这东西也是容器化了。基于v2ray的官方镜像叠了一层配置，主要是可以简单的重新打包来升级。不开放是因为认证key也写在配置文件里，开放了我怕不是我机器要被各位大佬爆掉了。&lt;/p&gt;
&lt;h4 id=&#34;deploy&#34;&gt;deploy&lt;/h4&gt;
&lt;p&gt;这玩意儿就是几个简单的docker-compose.yml了，其他几个工程每个的机器上的部署都在这个里面写着。因为我偷懒所以把cloudflare的key也放进去了…所以没法公开。&lt;/p&gt;
&lt;p&gt;有相同需求的可以去github上看看参考一下。&lt;/p&gt;
&lt;p&gt;后面再开个文章把现在网站的结构记一记好了。&lt;/p&gt;
&lt;h3 id=&#34;workflow和gitlab-ci&#34;&gt;workflow和gitlab-ci&lt;/h3&gt;
&lt;p&gt;之前好好研究了一下gitlab-ci的方式，gitlab-ci可以全部基于docker镜像，这个比较方便，我自己封装了好几个私有的image，用来打包、部署等等。&lt;/p&gt;
&lt;p&gt;切换到workflow发现思路不太一样，workflow里面有个action的概念，乍看起来也是封装的一系列脚本，基本基于shell，但是不能私有是个问题。毕竟我想把机器的deploy key写进去，还是有私有化的需求的。但是看文档，这东西只能public状态才能用。&lt;/p&gt;
&lt;p&gt;两者比起来我还是觉得gitlab-ci好用……可能是用久了，workflow我觉得设计思路挺独特，具体还没发现很好用的地方。&lt;/p&gt;
&lt;p&gt;之前还自己部署了一台gitlab-runner来跑ci，这次也懒得弄了，直接薅github的羊毛算了。&lt;/p&gt;
&lt;h3 id=&#34;有点蛋疼的部署&#34;&gt;有点蛋疼的部署&lt;/h3&gt;
&lt;p&gt;所有的部署镜像都是我在docker hub上的私有仓库，这本身没什么问题，但是gitlab-ci可以在runner里面直接访问到私有仓库，拉到我的私有仓库进行部署，这个在workflow里没法这么干，只能把ssh key写到secrets里面，代码动态的保存下来进行远程deploy。看起来有点不科学，不过先这么用了。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;- &lt;span style=&#34;color:#f92672&#34;&gt;name&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;Create the key&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;run&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;echo &amp;#34;${{ secrets.PRIVATE_KEY }}&amp;#34; &amp;gt; key &amp;amp;&amp;amp; chmod 600 key&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;- &lt;span style=&#34;color:#f92672&#34;&gt;name&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;Deploy&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;run&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;ssh -i key -o StrictHostKeychecking=no root@muxin.io &amp;#34;cd /mnt/deploy/gaia &amp;amp;&amp;amp; docker-compose down --rmi all &amp;amp;&amp;amp; docker-compose up -d&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;没错代码就是这么的妖！话说这个key应该跑完workflow会被删掉吧？？？要是没删掉下一个workflow还能用就gg了。我也没细看，相信不会这么蠢的设计的。&lt;/p&gt;
&lt;p&gt;第二个不爽的地方是github里面不能建group，导致我每个项目相同的secrets都要手动配一次，这个感觉也不科学。。&lt;/p&gt;
&lt;p&gt;基本初步体验就这样，后面看看有新项目要部署了再仔细研究下。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
