docs(git): add advanced and error
91
docs/platform/GitLab导致8080端口冲突.md
Normal file
@@ -0,0 +1,91 @@
|
||||
|
||||
# GitLab导致8080端口冲突
|
||||
|
||||
## 问题复现
|
||||
|
||||
安装完`GitLab`后,修改配置文件`/etc/gitlab/gitlab.rb`
|
||||
|
||||
```
|
||||
##external_url 'http://gitlab.example.com'
|
||||
external_url 'http://localhost:8800'
|
||||
```
|
||||
|
||||
本以为这样就能修改`GitLab`端口号为`8800`了,没想到再次登录`8080`仍旧出现了`GitLab`页面
|
||||
|
||||

|
||||
|
||||
## 问题解析
|
||||
|
||||
查询哪个程序监听了`8080`端口
|
||||
|
||||
```
|
||||
# netstat -lnp | grep 8080
|
||||
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 26436/config.ru
|
||||
```
|
||||
|
||||
查询相应的进程
|
||||
|
||||
```
|
||||
# netstat -lnp | grep 26436
|
||||
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 26436/config.ru
|
||||
unix 2 [ ACC ] STREAM LISTENING 343538 26436/config.ru /var/opt/gitlab/gitlab-rails/sockets/gitlab.socket
|
||||
```
|
||||
|
||||
仍然是`GitLab`在监听`8080`端口,参考[gitlab 8.13 80 8080端口冲突问题](https://blog.csdn.net/vbaspdelphi/article/details/52979836),查看配置文件`unicorn.rb`
|
||||
|
||||
```
|
||||
# This file is managed by gitlab-ctl. Manual changes will be
|
||||
# erased! To change the contents below, edit /etc/gitlab/gitlab.rb
|
||||
# and run `sudo gitlab-ctl reconfigure`.
|
||||
|
||||
# What ports/sockets to listen on, and what options for them.
|
||||
listen "127.0.0.1:8080", :tcp_nopush => true
|
||||
```
|
||||
|
||||
默认情况下`unicorn`同样监听`8080`端口,查询`/etc/gitlab/gitlab.rb`中相应的设置
|
||||
|
||||
```
|
||||
# cat gitlab.rb | grep unicorn
|
||||
#unicorn['port'] = 8800
|
||||
```
|
||||
|
||||
## 解决方案
|
||||
|
||||
需要在`gitlab.rb`上同时修改`unicorn`监听端口号,修改配置文件`/etc/gitlab/gitlab.rb`如下
|
||||
|
||||
```
|
||||
##external_url 'http://gitlab.example.com'
|
||||
external_url 'http://localhost:8800'
|
||||
unicorn['port'] = 8801
|
||||
```
|
||||
|
||||
重新启动`GitLab`
|
||||
|
||||
```
|
||||
# gitlab-ctl reconfigure
|
||||
# gitlab-ctl restart
|
||||
```
|
||||
|
||||
查询配置文件`/var/opt/gitlab/gitlab-rails/etc/unicorn.rb`
|
||||
|
||||
```
|
||||
# cat unicorn.rb | grep listen
|
||||
# What ports/sockets to listen on, and what options for them.
|
||||
listen "127.0.0.1:8801", :tcp_nopush => true
|
||||
```
|
||||
|
||||
测试端口号
|
||||
|
||||
```
|
||||
$ curl localhost:8080
|
||||
curl: (7) Failed to connect to localhost port 8080: Connection refused
|
||||
$ curl localhost:8800
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport">
|
||||
...
|
||||
...
|
||||
# curl localhost:8801
|
||||
<html><body>You are being <a href="http://localhost:8801/users/sign_in">redirected</a>.</body></html>
|
||||
```
|
||||
24
docs/platform/Prometheus吃磁盘空间.md
Normal file
@@ -0,0 +1,24 @@
|
||||
|
||||
# Prometheus吃磁盘空间
|
||||
|
||||
在云服务器上部署`Gitlab`,今天发现无法登录了。登上云服务器后发现磁盘容量没有了,通过查找发现`Prometheus`目录下占据了`30GB`的空间(总共`50GB`)
|
||||
|
||||
参考:
|
||||
|
||||
[Monitoring GitLab with Prometheus](https://docs.gitlab.com/ee/administration/monitoring/prometheus/)
|
||||
|
||||
[Prometheus eats disk space in /var/opt/gitlab/prometheus/data](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/4166)
|
||||
|
||||
[GitLab 官方镜像内部集成 Prometheus 历史数据过大的问题处理](https://lakelight.net/2020/03/24/GitLab-Prometheus-clean.html)
|
||||
|
||||
`Prometheus`是一个监控服务,会保存历史监控数据,下面尝试关闭该服务并删除之前的数据(在`Docker Gitlab`上操作)
|
||||
|
||||
1. 修改配置文件`/srv/gitlab/config/gitlab.rb`,添加
|
||||
|
||||
```
|
||||
prometheus_monitoring['enable'] = false
|
||||
```
|
||||
|
||||
2. 关闭`gitlab`并删除`/srv/gitlab/data/prometheus`文件夹数据
|
||||
|
||||
3. 重启`gitlab`,问题解决
|
||||
112
docs/platform/[Docker]GitLab使用.md
Normal file
@@ -0,0 +1,112 @@
|
||||
|
||||
# [Docker]GitLab使用
|
||||
|
||||
参考:
|
||||
|
||||
[GitLab Docker images](https://docs.gitlab.com/omnibus/docker/)
|
||||
|
||||
[gitlab docker Web界面打开反应迟钝的解决办法](https://blog.csdn.net/happyfreeangel/article/details/88653846)
|
||||
|
||||
[GitLab Docker 容器的内存优化之路](https://www.imooc.com/article/48668)
|
||||
|
||||
[gitlab的docker安装,非标准端口,如何处理?](https://www.cnblogs.com/aguncn/p/10336175.html)
|
||||
|
||||
`gitlab`提供了官方镜像 - [gitlab/gitlab-ce](https://hub.docker.com/r/gitlab/gitlab-ce/)
|
||||
|
||||
## 启动容器
|
||||
|
||||
运行以下命令启动容器
|
||||
|
||||
```
|
||||
$ docker run --detach \
|
||||
--publish 7010:7010 \
|
||||
--publish 7020:22 \
|
||||
--name gitlab \
|
||||
--restart always \
|
||||
--volume /srv/gitlab/config:/etc/gitlab \
|
||||
--volume /srv/gitlab/logs:/var/log/gitlab \
|
||||
--volume /srv/gitlab/data:/var/opt/gitlab \
|
||||
gitlab/gitlab-ce:latest
|
||||
```
|
||||
|
||||
等待容器状态从`Up 1 second (health: starting)`变为`Up 3 minutes (healthy)`
|
||||
|
||||
* 绑定`7010`端口(作用于后续的`external_url`)
|
||||
* 绑定主机`7020`端口到容器`22`端口
|
||||
* 挂载主机`/srv/gitlab`文件夹到容器
|
||||
- `/etc/gitlab:Gitlab`配置文件
|
||||
- `/var/log/gitlab`:日志
|
||||
- `/var/opt/gitlab`:应用数据
|
||||
|
||||
## 设置external_url
|
||||
|
||||
进入`gitlab`容器
|
||||
|
||||
```
|
||||
$ docker exec -it COMTAINER_ID bash
|
||||
```
|
||||
|
||||
修改配置文件`/etc/gitlab/gitlab.rb`,添加`external_url`属性
|
||||
|
||||
```
|
||||
external_url 'http://IP_ADDRESS:7010' # 指定IP地址,设置访问地址
|
||||
nginx['listen_port'] = 7010
|
||||
gitlab_rails['gitlab_shell_ssh_port'] = 7020
|
||||
```
|
||||
|
||||
在容器内部重启`gitlab`服务
|
||||
|
||||
```
|
||||
$ gitlab-ctl reconfigure
|
||||
$ gitlab-ctl restart
|
||||
```
|
||||
|
||||
*也可以退出系统后,重新启动容器*
|
||||
|
||||
```
|
||||
$ docker restart CONTAINER_ID
|
||||
```
|
||||
|
||||
等待容器状态从`Restarting (1) 19 seconds ago`到`Up 18 minutes (healthy)`
|
||||
|
||||
启动浏览器登录`http://localhost:7010`
|
||||
|
||||

|
||||
|
||||
## [问题]容器一直重启
|
||||
|
||||
使用`docker logs`命令查询
|
||||
|
||||
```
|
||||
$ docker log CONTAINER_ID
|
||||
...
|
||||
...
|
||||
System Info:
|
||||
------------
|
||||
chef_version=14.13.11
|
||||
platform=ubuntu
|
||||
platform_version=16.04
|
||||
ruby=ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]
|
||||
program_name=/opt/gitlab/embedded/bin/chef-client
|
||||
executable=/opt/gitlab/embedded/bin/chef-client
|
||||
|
||||
|
||||
Running handlers:
|
||||
There was an error running gitlab-ctl reconfigure:
|
||||
|
||||
/etc/gitlab/gitlab.rb:1: unexpected fraction part after numeric literal
|
||||
external_url = 192.168.0.144:7002
|
||||
^~~~~~~
|
||||
/etc/gitlab/gitlab.rb:1: syntax error, unexpected tINTEGER, expecting end-of-input
|
||||
external_url = 192.168.0.144:7002
|
||||
^~~
|
||||
|
||||
Running handlers complete
|
||||
Chef Client failed. 0 resources updated in 01 seconds
|
||||
```
|
||||
|
||||
发现是`external_url`配置失误导致。解决方法如下:
|
||||
|
||||
1. 停止`gitlab`容器
|
||||
2. 修改配置文件(在主机中)`/srv/gitlab/config/gitlab.rb`
|
||||
3. 重新启动容器
|
||||
12
docs/platform/[GitHub]版本发布.md
Normal file
@@ -0,0 +1,12 @@
|
||||
|
||||
# [GitHub]版本发布
|
||||
|
||||
之前通过本地进行版本标记,然后上传到`github`,在`release`页面能够查询到相应的版本。参考[标签设置](https://zj-git-guide.readthedocs.io/zh_CN/latest/basic/%E6%A0%87%E7%AD%BE%E8%AE%BE%E7%BD%AE.html)
|
||||
|
||||

|
||||
|
||||
但是查看其他的`github`项目的`release`页面,发现发布的版本中还包含了多个压缩文件(比如`Windows/Linux/MacOS`),可以单独下载
|
||||
|
||||

|
||||
|
||||
学习`GitHub`文档[About releases](https://help.github.com/en/github/administering-a-repository/about-releases)和[Creating releases](https://help.github.com/en/github/administering-a-repository/creating-releases)后发现必须通过**在线标签设置**的方式才能额外上传单独的压缩文件
|
||||
18
docs/platform/[GitLab][Webhook]不允许本地连接.md
Normal file
@@ -0,0 +1,18 @@
|
||||
|
||||
# [GitLab][Webhook]不允许本地连接
|
||||
|
||||
在`gitlab`仓库中设置`Webhook`,使用本地连接出现如下错误:
|
||||
|
||||
```
|
||||
Url is blocked: Requests to the local network are not allowed
|
||||
```
|
||||
|
||||
参考:[gitlab使用webhook向jenkins发送请求,报错 Requests to the local network are not allowed](https://blog.csdn.net/xukangkang1hao/article/details/80756085)
|
||||
|
||||
登录`root`账户,点击`Configure Gitlab`选项
|
||||
|
||||

|
||||
|
||||
进入`Settings -> Network`,展开`Outbound requests`,选中`Allow requests to the local network from web hooks and services`
|
||||
|
||||

|
||||
52
docs/platform/[GitLab][nginx]反向代理.md
Normal file
@@ -0,0 +1,52 @@
|
||||
|
||||
# [GitLab][nginx]反向代理
|
||||
|
||||
当前`gitlab`登录路径是`localhost:8080`
|
||||
|
||||
```
|
||||
$ curl localhost:8800
|
||||
<html><body>You are being <a href="http://localhost:8800/users/sign_in">redirected</a>.</body></html>
|
||||
```
|
||||
|
||||
地址会跳转到`http://localhost:8800/users/sign_i`,下面通过反向代理简化登录地址
|
||||
|
||||
## 调整gitlab登录地址
|
||||
|
||||
修改`gitlab`配置文件`/etc/gitlab/gitlab.rb`,修改`external_url`访问路径
|
||||
|
||||
```
|
||||
external_url 'http://localhost:8800/gitlabs/'
|
||||
```
|
||||
|
||||
更新`gitlab`配置
|
||||
|
||||
```
|
||||
$ gitlab-ctl reconfigure
|
||||
$ gitlab-ctl restart
|
||||
```
|
||||
|
||||
## nginx配置
|
||||
|
||||
修改`nginx`配置文件`/etc/nginx/conf.d/default.conf`,新增`location`
|
||||
|
||||
```
|
||||
$ cat gitlab.conf
|
||||
server {
|
||||
...
|
||||
...
|
||||
location /gitlabs/ {
|
||||
proxy_pass http://localhost:8800;
|
||||
}
|
||||
...
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
刷新`nginx`
|
||||
|
||||
```
|
||||
$ sudo nginx -t
|
||||
$ sudo nginx -s reload
|
||||
```
|
||||
|
||||
之后输入`localhost/gitlabs/`即可登录`gitlab`
|
||||
16
docs/platform/[GitLab]受保护分支.md
Normal file
@@ -0,0 +1,16 @@
|
||||
|
||||
# [GitLab]受保护分支
|
||||
|
||||
强制上传代码到`Gitlab`仓库的`dev`分支出错,提示如下:
|
||||
|
||||
```
|
||||
GitLab: You are not allowed to force push code to a protected branch on this project
|
||||
```
|
||||
|
||||
参考:[解决 GitLab: You are not allowed to force push code to a protected branch on this project问题](https://blog.csdn.net/mqdxiaoxiao/article/details/95794053)
|
||||
|
||||
是由于分支保护的原因,需要进入仓库`setting -> Repository -> Protected Branches`
|
||||
|
||||

|
||||
|
||||
允许`dev`分支能够强制推送
|
||||
26
docs/platform/[GitLab]命令行操作.md
Normal file
@@ -0,0 +1,26 @@
|
||||
|
||||
# [GitLab]命令行操作
|
||||
|
||||
* 启动
|
||||
|
||||
sudo gitlab-ctl start
|
||||
|
||||
* 停止
|
||||
|
||||
sudo gitlab-ctl stop
|
||||
|
||||
* 重启
|
||||
|
||||
sudo gitlab-ctl restart
|
||||
|
||||
* 更新配置
|
||||
|
||||
sudo gitlab-ctl reconfigure
|
||||
|
||||
* 查询日志
|
||||
|
||||
sudo gitlab-ctl tail
|
||||
|
||||
* 查询状态
|
||||
|
||||
sudo gitlab-ctl status
|
||||
140
docs/platform/[GitLab]安装.md
Normal file
@@ -0,0 +1,140 @@
|
||||
|
||||
# [GitLab]安装
|
||||
|
||||
## 硬件配置
|
||||
|
||||
参考:[Requirements](https://docs.gitlab.com/ce/install/requirements.html#hardware-requirements)
|
||||
|
||||
官方推荐的硬件配置为:
|
||||
|
||||
1. `2 cores CPU`
|
||||
2. `8GB RAM`
|
||||
|
||||
## 安装
|
||||
|
||||
进入[gitlab/gitlab-ce](https://packages.gitlab.com/gitlab/gitlab-ce)查询
|
||||
|
||||
首先安装依赖项
|
||||
|
||||
```
|
||||
$ curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
|
||||
Detected operating system as Ubuntu/xenial.
|
||||
Checking for curl...
|
||||
Detected curl...
|
||||
Checking for gpg...
|
||||
Detected gpg...
|
||||
Running apt-get update... done.
|
||||
Installing apt-transport-https... done.
|
||||
Installing /etc/apt/sources.list.d/gitlab_gitlab-ce.list...done.
|
||||
Importing packagecloud gpg key... done.
|
||||
Running apt-get update... done.
|
||||
|
||||
The repository is setup! You can now install packages.
|
||||
```
|
||||
|
||||
然后安装`gitlab-ce`
|
||||
|
||||
```
|
||||
# 当前是ubuntu 16.04
|
||||
$ sudo apt-get install gitlab-ce
|
||||
```
|
||||
|
||||
*也可以下载.deb包后安装*
|
||||
|
||||
```
|
||||
$ sudo dpkg -i gitlab-ce_12.3.5-ce.0_amd64.deb
|
||||
Selecting previously unselected package gitlab-ce.
|
||||
(Reading database ... 368157 files and directories currently installed.)
|
||||
Preparing to unpack gitlab-ce_12.3.5-ce.0_amd64.deb ...
|
||||
Unpacking gitlab-ce (12.3.5-ce.0) ...
|
||||
Setting up gitlab-ce (12.3.5-ce.0) ...
|
||||
It looks like GitLab has not been configured yet; skipping the upgrade script.
|
||||
|
||||
*. *.
|
||||
*** ***
|
||||
***** *****
|
||||
.****** *******
|
||||
******** ********
|
||||
,,,,,,,,,***********,,,,,,,,,
|
||||
,,,,,,,,,,,*********,,,,,,,,,,,
|
||||
.,,,,,,,,,,,*******,,,,,,,,,,,,
|
||||
,,,,,,,,,*****,,,,,,,,,.
|
||||
,,,,,,,****,,,,,,
|
||||
.,,,***,,,,
|
||||
,*,.
|
||||
|
||||
|
||||
|
||||
_______ __ __ __
|
||||
/ ____(_) /_/ / ____ _/ /_
|
||||
/ / __/ / __/ / / __ `/ __ \
|
||||
/ /_/ / / /_/ /___/ /_/ / /_/ /
|
||||
\____/_/\__/_____/\__,_/_.___/
|
||||
|
||||
|
||||
Thank you for installing GitLab!
|
||||
GitLab was unable to detect a valid hostname for your instance.
|
||||
Please configure a URL for your GitLab instance by setting `external_url`
|
||||
configuration in /etc/gitlab/gitlab.rb file.
|
||||
Then, you can start your GitLab instance by running the following command:
|
||||
sudo gitlab-ctl reconfigure
|
||||
|
||||
For a comprehensive list of configuration options please see the Omnibus GitLab readme
|
||||
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
|
||||
```
|
||||
|
||||
## 系统配置
|
||||
|
||||
打开文件`/etc/gitlab/gitlab.rb`,修改external_url为自己的地址
|
||||
|
||||
```
|
||||
$ sudo cat /etc/gitlab/gitlab.rb | grep external_url
|
||||
[sudo] password for zj:
|
||||
Sorry, try again.
|
||||
[sudo] password for zj:
|
||||
##! For more details on configuring external_url see:
|
||||
##external_url 'http://gitlab.example.com'
|
||||
external_url 'http://localhost:8800'
|
||||
...
|
||||
...
|
||||
```
|
||||
|
||||
重新进行gitlab配置
|
||||
|
||||
```
|
||||
$ sudo gitlab-ctl reconfigure
|
||||
Starting Chef Client, version 14.13.11
|
||||
resolving cookbooks for run list: ["gitlab"]
|
||||
Synchronizing Cookbooks:
|
||||
- gitlab (0.0.1)
|
||||
- package (0.1.0)
|
||||
- redis (0.1.0)
|
||||
- postgresql (0.1.0)
|
||||
- monitoring (0.1.0)
|
||||
- registry (0.1.0)
|
||||
- mattermost (0.1.0)
|
||||
- consul (0.1.0)
|
||||
- gitaly (0.1.0)
|
||||
- letsencrypt (0.1.0)
|
||||
- nginx (0.1.0)
|
||||
- runit (4.3.0)
|
||||
- crond (0.1.0)
|
||||
- acme (4.0.0)
|
||||
Installing Cookbook Gems:
|
||||
Compiling Cookbooks...
|
||||
...
|
||||
...
|
||||
Running handlers:
|
||||
Running handlers complete
|
||||
Chef Client finished, 526/1417 resources updated in 02 minutes 32 seconds
|
||||
gitlab Reconfigured!
|
||||
```
|
||||
|
||||
登录修改后的网址:`http://localhost:8800`
|
||||
|
||||

|
||||
|
||||
管理员`root`的密码设置完成后就自动跳转到登录页面
|
||||
|
||||
可以直接使用`root`用户登录,也可以注册一个新帐号
|
||||
|
||||
63
docs/platform/[GitLab]重置密码.md
Normal file
@@ -0,0 +1,63 @@
|
||||
|
||||
# [GitLab]重置密码
|
||||
|
||||
昨天新建的账户,今天突然等不上去了,参考以下文章重置密码
|
||||
|
||||
[gitlab 重置用户密码](https://blog.csdn.net/shanpenghui/article/details/89195511)
|
||||
|
||||
[gitlab管理员密码忘记如何强制重置找回](https://jingyan.baidu.com/article/6525d4b181bd41ac7d2e94af.html)
|
||||
|
||||
进入`gitlab`管理后台。当前使用`docker`版本`gitlab`,所以先进入容器
|
||||
|
||||
```
|
||||
$ docker exec -it CONTIANINER_ID bash
|
||||
```
|
||||
|
||||
切换到`git`用户
|
||||
|
||||
```
|
||||
$ su git
|
||||
```
|
||||
|
||||
登录`gitlab-rails`
|
||||
|
||||
```
|
||||
$ gitlab-rails console production
|
||||
DEPRECATION WARNING: Passing the environment's name as a regular argument is deprecated and will be removed in the next Rails version. Please, use the -e option instead. (called from require at bin/rails:4)
|
||||
--------------------------------------------------------------------------------
|
||||
GitLab: 12.4.2 (393a5bdafa2)
|
||||
GitLab Shell: 10.2.0
|
||||
PostgreSQL: 10.9
|
||||
--------------------------------------------------------------------------------
|
||||
Loading production environment (Rails 5.2.3)
|
||||
irb(main):001:0>
|
||||
```
|
||||
|
||||
(上面这一步有点慢),查询用户是否存在
|
||||
|
||||
```
|
||||
irb(main):001:0> user=User.where(name: "zxxU").first
|
||||
=> nil
|
||||
irb(main):002:0> user=User.where(name: "zxxu").first
|
||||
=> nil
|
||||
irb(main):003:0> user=User.where(name: "zxxxn").first
|
||||
=> #<User id:2 @zxxxU>
|
||||
```
|
||||
|
||||
充值密码并确认
|
||||
|
||||
```
|
||||
irb(main):005:0> user.password=12345678
|
||||
=> 12345678
|
||||
irb(main):006:0> user.password_confirmation=12345678
|
||||
=> 12345678
|
||||
```
|
||||
|
||||
保存并退出
|
||||
|
||||
```
|
||||
irb(main):007:0> user.save
|
||||
Enqueued ActionMailer::DeliveryJob (Job ID: 2b220e18-d0ac-415e-a1cc-52f31069d3be) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", #<GlobalID:0x00007f4e84a25510 @uri=#<URI::GID gid://gitlab/User/2>>
|
||||
=> true
|
||||
irb(main):008:0> quit
|
||||
```
|
||||
29
docs/platform/[Github]主页美化.md
Normal file
@@ -0,0 +1,29 @@
|
||||
|
||||
# [Github]主页美化
|
||||
|
||||
看到有些人的主页有一些自定义的样式,在网上找了一些资料,主要修改两方面:
|
||||
|
||||
1. 添加自定义`README`
|
||||
2. 启动`Activity View`
|
||||
|
||||
## 自定义README
|
||||
|
||||
参考:[Github 美化设置个人主页 ](https://www.cnblogs.com/Cl0ud/p/13764921.html)
|
||||
|
||||
创建一个同名仓库,即可启动`Github`隐藏功能:编辑这个仓库的`README`文件可以展示在公共`profile`上
|
||||
|
||||
找到一些好用的工具和资料:
|
||||
|
||||
1. 优秀模板:[ kautukkundan/Awesome-Profile-README-templates](https://github.com/kautukkundan/Awesome-Profile-README-templates/tree/master/elaborate)
|
||||
2. 统计工具:[ anuraghazra/github-readme-stats ](https://github.com/anuraghazra/github-readme-stats/blob/master/docs/readme_cn.md)
|
||||
3. 模板生成器:[GitHub Profile README Generator](https://github.com/rahuldkjain/github-profile-readme-generator)
|
||||
|
||||
## 启动Activity View
|
||||
|
||||
参考:
|
||||
|
||||
[Viewing contributions on your profile](https://docs.github.com/en/github/setting-up-and-managing-your-github-profile/viewing-contributions-on-your-profile)
|
||||
|
||||
[Showing an overview of your activity on your profile](https://docs.github.com/en/github/setting-up-and-managing-your-github-profile/showing-an-overview-of-your-activity-on-your-profile)
|
||||
|
||||
在主页的`Contribution settings`下拉框中选中`Activity overview`选项即可
|
||||
26
docs/platform/[Gitlab]Access-deined.md
Normal file
@@ -0,0 +1,26 @@
|
||||
|
||||
# Access deined: You do not have permission push to this repository
|
||||
|
||||
在gitee上新建了一个账户,在上面新建一个仓库,将其ssh链接设置到本地已存在的仓库上,想要把本地仓库推送到远程仓库,出现如下错误:
|
||||
|
||||
```
|
||||
$ git push origin master
|
||||
Access deined: You do not have permission push to this repository
|
||||
fatal: 无法读取远程仓库。
|
||||
|
||||
请确认您有正确的访问权限并且仓库存在。
|
||||
```
|
||||
|
||||
其原因在于本地新建了两个`ssh`密钥,设置在`gitee`的不同账户上,ssh使用之前的密钥读取gitee远程仓库,导致出错。参考[如何使用特定的SSH Key提交GIT](https://www.jianshu.com/p/82aa1678411e)
|
||||
|
||||
在`~/.ssh/config`文件上添加如下内容
|
||||
|
||||
```
|
||||
Host gitee.com
|
||||
HostName gitee.com
|
||||
User git
|
||||
IdentityFile 私钥文件路径
|
||||
IdentitiesOnly yes
|
||||
```
|
||||
|
||||
重新提交即可
|
||||
38
docs/platform/[github]DNS加速.md
Normal file
@@ -0,0 +1,38 @@
|
||||
|
||||
# [github]DNS加速
|
||||
|
||||
## 加速原理
|
||||
|
||||
通过在本地域名文件中加入`github`相关网站的`DNS`地址,加快`DNS`解析过程,从而加快网页加载速度
|
||||
|
||||
## 方式一
|
||||
|
||||
参考:[加快国内访问Github网站的速度](https://aoenian.github.io/2018/05/12/github-access-fast/)
|
||||
|
||||
登录[DNS查询](http://tool.chinaz.com/dns/?type=1&host=github.com&ip=)网站进行查询
|
||||
|
||||

|
||||
|
||||
分别查询以下网址对应的`DNS`服务器地址
|
||||
|
||||
```
|
||||
github.com
|
||||
github.global.ssl.fastly.net
|
||||
assets-cdn.github.com
|
||||
```
|
||||
|
||||
将查询得到的最短响应时间的服务器`IP`放置到文件`/etc/hosts`文件中
|
||||
|
||||
```
|
||||
$ cat /etc/hosts
|
||||
...
|
||||
...
|
||||
|
||||
52.74.223.119 github.com
|
||||
69.171.248.65 github.global.ssl.fastly.net
|
||||
185.199.111.153 assets-cdn.github.com
|
||||
```
|
||||
|
||||
## 方式二(推荐)
|
||||
|
||||
配置公告`DNS`,参考[[Ubuntu 18.04][resolv.conf]公共DNS设置](https://zj-network-guide.readthedocs.io/zh_CN/latest/advanced/[Ubuntu%2018.04][resolv.conf]%E5%85%AC%E5%85%B1DNS%E8%AE%BE%E7%BD%AE/)
|
||||
70
docs/platform/[github][gitee]SSH公钥设置.md
Normal file
@@ -0,0 +1,70 @@
|
||||
|
||||
# [github][gitee]SSH公钥设置
|
||||
|
||||
## [github]公钥设置
|
||||
|
||||
参考:[Adding a new SSH key to your GitHub account](https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/)
|
||||
|
||||
登录`github`,进入个人主页,选择`Settings->SSH and GPG keys->New SSH key`
|
||||
|
||||
填写`title`,并复制个人主机中的公钥到`key`
|
||||
|
||||
$ cat github_id_rsa.pub
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDIUsnRNu/+Zeurm2Ty/Xac+q+0y87aHWr0N7fb+gygQK7xRux9UAI7UK3GwP7dwxYT8KTOrxf0tPnI4d/bCtETHcoj0D2UlwMO20FWFaoOocteccJLbmQ9XXsrt05KlJcDGr9L8e9eMyWKj5ZXMOxSwravv+e64XGkFaAmNX4XkCkENlZcIq6w+Fo/xtyPZA0W/oYnBWAvKd937GbKEA1m1rARzo/xGCn8uf76PUlNy2UscujnWbMUYGeLxf5jRCgWD0KZLJsJAsOCxczeRn0EAczgNcgyBbjotDnpTKbP6Xtqvf3TtVty9fgQgs7/oLNb8K+v0XVVR9XsX+DZkqF+JCzIOf+0dpnJiery187rw4MuRIlct+vGM1P+FaiPphh2vMhe5YEaFErrHNTDZiw+LbHCE3Eo9wK9t0wb/yFiHELempoZI+K3Zjv6cnUnl3urXQFHV/RJCj/JHOEA1Q3jvVLa3nETRMfBBEiDuK0YPH6OUac+GSg+ldCVwDydeCa2Z4/OdgZqsoyTU5o4vewbT3vKwmQGfu7BNOmHgnIzMZQsg0JWScDX9/c/DoCaGW95ej68niZ3ICtUWnlYKZVlzg+cyIRzuzSmaa5ecOgzxZ6moW4wRGrvMM94X0HMmWWXXV/WLXiUG2KN1upz7m78zwJ6ZXvh2sWmCe+q+YhJIw== github.com
|
||||
|
||||
`github`上设置的公钥同时具备`推送/拉取`的权限
|
||||
|
||||
### 密钥失效
|
||||
|
||||
参考:[About SSH](https://help.github.com/articles/about-ssh/)
|
||||
|
||||
If you haven't used your SSH key for a year, then GitHub will automatically delete your inactive SSH key as a security precaution. For more information, see "Deleted or missing SSH keys."
|
||||
|
||||
`github`规定自动删除一年内未使用的`SSH`密钥
|
||||
|
||||
## [gitee]公钥设置
|
||||
|
||||
参考:
|
||||
|
||||
[公钥管理](https://gitee.com/help/articles/4180)
|
||||
|
||||
[SSH 公钥设置](https://gitee.com/help/articles/4191#article-header0)
|
||||
|
||||
码云可以在个人主页上设置公钥,也可以在个人仓库上设置公钥,这两个地方的读写权限不一致
|
||||
|
||||
### 个人主页
|
||||
|
||||
登录码云,选择`设置->安全设置->SSH公钥`,在添加公钥页面输入标题和公钥即可设置
|
||||
|
||||
在个人主页上设置的公钥同时具备`推送/拉取`的权限
|
||||
|
||||
### 个人仓库
|
||||
|
||||
进入仓库页面,选择`管理->部署公钥管理->公钥管理`,点击添加公钥选项,输入标题和公钥即可
|
||||
|
||||
在个人仓库上设置的公钥仅具备`拉取仓库代码`的功能
|
||||
|
||||
## 测试
|
||||
|
||||
参考:[Testing your SSH connection](https://help.github.com/articles/testing-your-ssh-connection/)
|
||||
|
||||
在`github`上设置好公钥之后
|
||||
|
||||
SSH
|
||||
zj-github
|
||||
d9:fc:d8:02:ee:6c:75:68:a1xxx Added on Feb 4, 2019 Last used within the last week — Read/write
|
||||
|
||||
在本地测试是否成功
|
||||
|
||||
$ ssh -T git@github.com
|
||||
Hi zjZSTU! You've successfully authenticated, but GitHub does not provide shell access.
|
||||
$ ssh -T git@gitee.com
|
||||
Hi zjZSTU! You've successfully authenticated, but GITEE.COM does not provide shell access.
|
||||
|
||||
## 下载代码
|
||||
|
||||
选择仓库,以`ssh`协议下载
|
||||
|
||||
$ git clone git@github.com:zjZSTU/git-guide.git
|
||||
|
||||
这一次会要求你输入设置好的密码(`passphrase`),之后的拉取代码操作都可以自动认证完成
|
||||
BIN
docs/platform/imgs/8080.png
Normal file
|
After Width: | Height: | Size: 63 KiB |
BIN
docs/platform/imgs/allow-local-request.png
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
docs/platform/imgs/configure-gitlab.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
docs/platform/imgs/github-dns.png
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
docs/platform/imgs/gitlab-docker-start.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
docs/platform/imgs/gitlab-start.png
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
docs/platform/imgs/protected-branches.png
Normal file
|
After Width: | Height: | Size: 52 KiB |
BIN
docs/platform/imgs/release/local-release.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
docs/platform/imgs/release/remote-release.png
Normal file
|
After Width: | Height: | Size: 53 KiB |
62
docs/platform/unicorn出错.md
Normal file
@@ -0,0 +1,62 @@
|
||||
|
||||
# unicorn出错
|
||||
|
||||
## 问题描述
|
||||
|
||||
通过`docker`部署`gitlab`一段时间后,突然出现`502`错误
|
||||
|
||||
查看容器状态,显示不健康
|
||||
|
||||
```
|
||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||
89481faa2ed1 gitlab/gitlab-ce:latest "/assets/wrapper" 2 weeks ago Up 7 hours (unhealthy)
|
||||
```
|
||||
|
||||
浏览容器日志,发现如下错误:
|
||||
|
||||
```
|
||||
==> /var/log/gitlab/unicorn/unicorn_stdout.log <==
|
||||
bundler: failed to load command: unicorn (/opt/gitlab/embedded/bin/unicorn)
|
||||
|
||||
==> /var/log/gitlab/unicorn/unicorn_stderr.log <==
|
||||
ArgumentError: Already running on PID:460 (or pid=/opt/gitlab/var/unicorn/unicorn.pid is stale)
|
||||
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:205:in `pid='
|
||||
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:137:in `start'
|
||||
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/unicorn-5.4.1/bin/unicorn:126:in `<top (required)>'
|
||||
/opt/gitlab/embedded/bin/unicorn:23:in `load'
|
||||
/opt/gitlab/embedded/bin/unicorn:23:in `<top (required)>'
|
||||
|
||||
==> /var/log/gitlab/unicorn/current <==
|
||||
2019-12-18_12:27:47.34406 failed to start a new unicorn master
|
||||
2019-12-18_12:27:47.35882 starting new unicorn master
|
||||
2019-12-18_12:27:47.91735 master failed to start, check stderr log for details
|
||||
```
|
||||
|
||||
## 问题解析
|
||||
|
||||
看样子是`unicorn`的问题,参考:
|
||||
|
||||
[gitlab服务器502恢复过程](https://blog.csdn.net/zhouchuan152/article/details/95871798)
|
||||
|
||||
[gitlab docker Web界面打开反应迟钝的解决办法](https://blog.csdn.net/happyfreeangel/article/details/88653846)
|
||||
|
||||
进入容器内部,查看`unicorn`状态
|
||||
|
||||
```
|
||||
$ docker exec -it xxxx bash
|
||||
# gitlab-ctl tail unicorn
|
||||
```
|
||||
|
||||
发现每次`unicorn`显示的`PID`都不同,修改`/etc/gitlab/gitlab.rb`,添加
|
||||
|
||||
```
|
||||
unicorn['listen'] = 'localhost'
|
||||
unicorn['port'] = 8999
|
||||
```
|
||||
|
||||
更新并重启后,`gitlab`服务恢复正常
|
||||
|
||||
```
|
||||
# gitlab-ctl reconfigure
|
||||
# gitlab-ctl restart
|
||||
```
|
||||
36
docs/platform/代码库大小限制.md
Normal file
@@ -0,0 +1,36 @@
|
||||
|
||||
# 代码库大小限制
|
||||
|
||||
## 问题描述
|
||||
|
||||
上传代码到`Gitee`时,打印出如下日志:
|
||||
|
||||
```
|
||||
git push --force git@gitee.com:xx.xx.git master
|
||||
remote: Powered by [01;33mGITEE.COM [0m[[01;35mGNK-3.8[0m][0m
|
||||
remote: Recommended to reduce the repository size
|
||||
remote: This repository(including wiki) size [01;33m581.64 MB[0m exceeds [01;33m500.00 MB[0m
|
||||
remote: HelpLink: https://gitee.com/help/articles/4232
|
||||
To gitee.com:zjZSTU/xx.xxx.git
|
||||
```
|
||||
|
||||
在网上查询发现是因为单个仓库大小超出了限制(`500MB`),经过一番查询发现`Gitee`和`Coding`的个人仓库都限制在`500MB`
|
||||
|
||||
参考:
|
||||
|
||||
[仓库体积过大,如何减小? ](https://gitee.com/help/articles/4232#article-header0)
|
||||
|
||||
[仓库大小限制吗?](https://cloud.tencent.com/developer/ask/197652)
|
||||
|
||||
而`Github`对单个仓库大小的限制为`1GB`。参考:[File and repository size limitations](https://help.github.com/en/github/managing-large-files/what-is-my-disk-quota#file-and-repository-size-limitations)
|
||||
|
||||
## 问题解决
|
||||
|
||||
阿里云的单个仓库限制为`2GB`,能够满足当前需求。参考:[代码库对文件大小是否有限制?](https://help.aliyun.com/document_detail/153791.html?spm=5176.11065259.1996646101.searchclickresult.30c1183bbCmNS7)
|
||||
|
||||
各个远程`Git`仓库服务器的官网地址如下:
|
||||
|
||||
1. [Gitee](https://gitee.com/)
|
||||
2. [Coding](https://coding.net/)
|
||||
3. [Github](https://github.com/)
|
||||
4. [Aliyun Code](https://code.aliyun.com)
|
||||
40
docs/platform/版本更新后database出错.md
Normal file
@@ -0,0 +1,40 @@
|
||||
|
||||
# 版本更新后database出错
|
||||
|
||||
### 问题描述
|
||||
|
||||
拉取了最新的`Docker Gitlab`镜像,部署时发现了如下错误:
|
||||
|
||||
```
|
||||
gitlab | System Info:
|
||||
gitlab | ------------
|
||||
gitlab | chef_version=14.14.29
|
||||
gitlab | platform=ubuntu
|
||||
gitlab | platform_version=16.04
|
||||
gitlab | ruby=ruby 2.6.6p146 (2020-03-31 revision 67876) [x86_64-linux]
|
||||
gitlab | program_name=/opt/gitlab/embedded/bin/chef-client
|
||||
gitlab | executable=/opt/gitlab/embedded/bin/chef-client
|
||||
gitlab |
|
||||
gitlab |
|
||||
gitlab | Running handlers:
|
||||
gitlab | There was an error running gitlab-ctl reconfigure:
|
||||
gitlab |
|
||||
gitlab | bash[migrate gitlab-rails database] (gitlab::database_migrations line 55) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
|
||||
gitlab | ---- Begin output of "bash" "/tmp/chef-script20200618-23-sfpkhu" ----
|
||||
gitlab | STDOUT: rake aborted!
|
||||
gitlab | PG::ConnectionBad: could not connect to server: No such file or directory
|
||||
gitlab | Is the server running locally and accepting
|
||||
gitlab | connections on Unix domain socket "/var/opt/gitlab/postgresql/.s.PGSQL.5432"?
|
||||
gitlab | /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:48:in `block (3 levels) in <top (required)>'
|
||||
gitlab | /opt/gitlab/embedded/bin/bundle:23:in `load'
|
||||
gitlab | /opt/gitlab/embedded/bin/bundle:23:in `<main>'
|
||||
gitlab | Tasks: TOP => gitlab:db:configure
|
||||
gitlab | (See full trace by running task with --trace)
|
||||
gitlab | STDERR:
|
||||
gitlab | ---- End output of "bash" "/tmp/chef-script20200618-23-sfpkhu" ----
|
||||
gitlab | Ran "bash" "/tmp/chef-script20200618-23-sfpkhu" returned 1
|
||||
```
|
||||
|
||||
### 问题解决
|
||||
|
||||
在网上查了一些资料,说是新旧版本的配置格式不一致,需要删除之前的配置数据。幸好在本地保存了之前使用的镜像,打包该镜像后上传到服务器重新加载即可
|
||||