柯伊伯 發表於 2019-5-8 21:25:00

Gogs配置(本地安装篇-Debian)

<p>知识储备:</p>
<ul>
<li>用过MySQL等</li>
<li>了解Linux最基本的操作</li>
<li>git常用操作</li>
<li>关于ssh</li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;本文参考:linux上安装gogs搭建个人仓库&nbsp;</p>
<h2>下载</h2>
<p>https://github.com/gogs/gogs/releases</p>
<h2>准备环境1</h2>
<p>提前准备好MySQL、Nginx</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(51, 153, 102, 1)">==</span><span style="color: rgba(0, 0, 0, 1)"><span style="color: rgba(51, 153, 102, 1)">输入密码等信息</span>
# adduser git

</span><span style="color: rgba(51, 153, 102, 1)">==如果需要为git添加sudo权限—&gt;</span><span style="color: rgba(0, 0, 0, 1)"><span style="color: rgba(51, 153, 102, 1)">添加到sudo组【当然建议不要】</span><span style="color: rgba(51, 153, 102, 1)"># usermod </span></span><span style="color: rgba(51, 153, 102, 1)">-a -G sudo git 【建议不要】


</span><span style="color: rgba(51, 153, 102, 1)">==切换用户git
</span><span style="color: rgba(0, 0, 255, 1)">su</span><span style="color: rgba(0, 0, 0, 1)"> git
cd </span>~
<span style="color: rgba(0, 0, 255, 1)">mkdir</span> .<span style="color: rgba(0, 0, 255, 1)">ssh</span>
<span style="color: rgba(0, 0, 255, 1)">chmod</span> <span style="color: rgba(128, 0, 128, 1)">0755</span> .<span style="color: rgba(0, 0, 255, 1)">ssh</span>


<span style="color: rgba(51, 153, 102, 1)">==提前准备好nginx mysql 【nginx用于反向代理之类的,mysql储存数据库】
==再切换回<strong><span style="color: rgba(255, 0, 0, 1)">root</span></strong>用户【golang-</span><span style="color: rgba(0, 0, 0, 1)"><span style="color: rgba(51, 153, 102, 1)">go是go运行环境】</span>
# apt</span>-get <span style="color: rgba(0, 0, 255, 1)">install</span> golang-<span style="color: rgba(0, 0, 0, 1)">go

</span><span style="color: rgba(51, 153, 102, 1)">==</span><span style="color: rgba(0, 0, 0, 1)"><span style="color: rgba(51, 153, 102, 1)">测试</span>
#go </span><span style="color: rgba(0, 0, 255, 1)">env</span></pre>
</div>
<h2>准备环境2</h2>
<p>&nbsp;</p>
<h4>解压</h4>
<p>&nbsp;</p>
<div class="cnblogs_code">
<pre>tar zxf /home/用户名/Downloads/gogs-0-11-86-linux_amd64.tar.gz -C /home/git/</pre>
</div>
<p>&nbsp;</p>
<h4><span style="font-family: &quot;Microsoft YaHei&quot;">初始化Gogs数据库</span></h4>
<p><span style="font-family: &quot;Microsoft YaHei&quot;">(/home/git/gogs/scripts/mysql.sql&nbsp; 用于gogs的数据库初始化,默认使用MySQL默认引擎InnoDB)</span></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">su</span><span style="color: rgba(0, 0, 0, 1)"> git
cd </span>~/<span style="color: rgba(0, 0, 0, 1)">gogs
mysql </span>-uroot -p &lt; scripts/mysql.sql</pre>
</div>
<div>
<div>
<p>&nbsp;</p>
<div class="cnblogs_code">
<div>
<p>创建一个MySQL用户’gogs‘,并将数据库 gogs 的所有权限都赋予该用户</p>
</div>
<div>
<div class="cnblogs_code">
<pre> mysql -u root -p</pre>
</div>
</div>
</div>
<div>
<div class="cnblogs_code">
<pre> grant all privileges on gogs.* to 'gogs'@'localhost' identified by '密码'<span>;
<span>flush privileges;
exit;</span></span></pre>
</div>
</div>
<p>以上内容借鉴自:</p>
</div>
信仰与初衷(简书)linux上安装gogs搭建个人仓库<strong style="font-size: 1.17em">&nbsp;</strong></div>
<p>&nbsp;</p>
<hr>
<h2>&nbsp;</h2>
<h2>&nbsp;</h2>
<h2>&nbsp;</h2>
<h2>安装成功后测试</h2>
<h3>启动</h3>
<div>
<div>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">su</span><span style="color: rgba(0, 0, 0, 1)"> git
</span>~/gogs/gogs web</pre>
</div>
<h3>作为服务运行</h3>
<div class="cnblogs_code">
<pre># copy /home/git/gogs/scripts/init/debian/gogs /etc/<span style="color: rgba(0, 0, 0, 1)">init.d
# service gogs </span>start</pre>
</div>
</div>
<h3>测试</h3>
</div>
<p>在页面localhost:3000 新建一个仓库,然后写README.md,然后再用git命令试试</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">$ cd 到存放仓库的目录
$ git clone http:</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">localhost:3000/&lt;你的仓库&gt;.git</span>
$ cd &lt;仓库名&gt;<span style="color: rgba(0, 0, 0, 1)">
$ </span><span style="color: rgba(0, 0, 255, 1)">echo</span> <span style="color: rgba(128, 0, 0, 1)">"
</span><span style="color: rgba(0, 0, 0, 1)">   #good
   yes, all right
   A Gogs.
</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)"> &gt; test.md</span>
<span style="color: rgba(0, 0, 0, 1)">
$ git add test.md
$ git commit </span>-m <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">test</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
$ git remote add origin http:</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">localhost:3000/&lt;你的仓库&gt;.git</span>
$ git push -u origin master</pre>
</div>
<p>&nbsp;刷新页面看看结果 PS.右下角可以切换英文</p>
<h3>改为SSH方式同步代码</h3>
<div class="cnblogs_code">
<pre>git remote set-url origin <span style="color: rgba(0, 0, 255, 1)">ssh</span>:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">git@localhost:10022/adminer/TEST1.git</span></pre>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>关于SSH连接方式</h2>
<p>给自己的账户管理里添加SSH&nbsp;KEY到Github/Gogs[原标题:SSH&nbsp;KEY生成方法]</p>
<p><em><em><img src="https://img2018.cnblogs.com/blog/1072169/201905/1072169-20190508221505978-885704081.png" alt="" width="769" height="456"></em></em></p>
<p>GIT配置SSH KEY并连接GOGS</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>通过ssh连接到Gogs ssh服务器</p>
<p>$ ssh git@localhost -p 10022</p>
<p><br>提示:git@localhost: Permission denied (publickey).<br>这种情况是你的SSH KEY没有在目标ssh服务器(Gogs ssh服务器)的授权名单里</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;下次再更</p>
<h2>HTTPS证书</h2>
<p>Gogs安装部署(兼添加https)</p>
<p>https://github.com/FiloSottile/mkcert</p>
<h2>关于Nginx转发部分</h2>
<p>下次再鸽</p>
<p>&nbsp;</p>
<h2>转移已有仓库到Gogs</h2>
<p class="ui top attached header">Gogs界面:点加号,迁移外部仓库</p>
<p class="ui top attached header">&nbsp;</p>
<h2 class="ui top attached header">关于团队管理部分</h2>
<p>如果你有/加入了团队,那么Gogs的团队管理面板也可以满足你</p>
<p><img src="https://img2018.cnblogs.com/blog/1072169/201905/1072169-20190508222237516-28841246.png" alt="" width="1068" height="853"></p>
<p><img src="https://img2018.cnblogs.com/blog/1072169/201905/1072169-20190508222439786-1755698789.png" alt=""></p>
<p>另外还可以使用微信推送如PushBear</p>
<h2>&nbsp;内网&nbsp;多个路由器下多台设备访问Gogs</h2>
<p>路由器里设置静态路由表</p>
<p>&nbsp;</p>
<p>&nbsp;持续集成CI/CD</p>
<p>可以安装Drone或Jenkins&nbsp; &nbsp;前者Go轻快,后者JAVA稳重</p>
<p>如果还不够,可以试试用API:https://github.com/gogs/docs-api</p>

</div>
<div id="MySignature" role="contentinfo">
    <p>本文来自博客园,作者:蓝天上的云℡,采用 BY-NC-SA 许可协议,转载请注明:转载自作者蓝天上的云℡ 原文链接 https://www.cnblogs.com/yucloud/p/10834762.html</p><br><br>
来源:https://www.cnblogs.com/yucloud/p/10834762.html
頁: [1]
查看完整版本: Gogs配置(本地安装篇-Debian)