gogs 在 Mac 上安装

安装 gogs

  • gogs 运行系统用户非当前用户:git > root

解决:

新建用户 git

在“系统偏好设置” - “用户与群组” 中,新建用户 git

切换到git账户下执行:

//切换到 git 用户
$ su - git 
// 执行 gogs 服务
$ ./gogs web
  • gogs localhost:3000 服务启动后安装过程中遇到各种 permission denied,以及安装后启动服务会自行终止的问题

解决方法:

试了各种放置位置,出现各种 permission denied,最后用 git 账号登陆 Mac 后,将 gogs 二进制文件夹解压到根目录下,和 Users 并列,成功执行 install,之后也可以正常注册登录了
  • 启动服务
$ ./gogs web

custom/conf/app.ini 中的路径最好都设置成绝对路径

在 Gogs 项目目录下的 custom data 和 log 三个目录是用来存放项目运行期间产生的日志、配置文件、数据等信息的。当Gogs项目需要升级时,直接拷贝这三个目录到新项目目录下即可。

Mac 开机自动启动 gogs 服务

1. 创建 autoStart.sh 文件,在 git 用户中执行启动服务

 su - git -c "/gogs/gogs web"

2. 打开自动服务(“应用程序” – “自动操作.app”),选择“运行shell脚本”,创建脚本

cd /gogs/scripts
open -a Terminal.app autoStart.sh

如果需要输入密码,则可以设置自动添加密码

安装 expect

brew install expect

修改 autoStart.sh

#!/usr/local/bin/expect -f  
spawn su - git -c "/gogs/gogs web"
expect "Password" {send "123456\n"}
interact

注解上面的代码

//expect的路径地址
//expect 的使用,需要使用 spawn 来执行代码
//expect 要自动添加的内容
//执行完成后保持交互状态,把控制权交给控制台

3. shell 脚本创建完成后,生成 app,在“用户与群组”中设置登录项,选择该 app。

从命令行创建一个新的仓库

touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin http://localhost:3030/yourname/company.git
git push -u origin master

从命令行推送已经创建的仓库

git remote add origin http://localhost:3030/yourname/company.git
git push -u origin master

参考:gogs troubleshotting.md