前言
因为在jenkins 过程中一般需要去处理一些git的东西,为了完整性,填补一下git管理安装,这里使用gogs,因为gogs比较小,我运行的小机器能够承受,当然只适合个人,这里用来做实验,网上特别多,但是这里详细一点。
正文
1.gogs 下载,可以用window下载传输到linux,在此之前创建一个git用户,你也可以创建其他用户,就是不要用root用户,一个是不允许,第二个是即使我们强制用了也不规范哈。
useradd git
passwd git 设置密码
2.下载和解压
$ su git
$ cd ~
$ wget https://dl.gogs.io/0.11.53/gogs_0.11.53_linux_amd64.zip
# unzip gogs_0.11.53_linux_amd64.zip
3.修改启动用户和启动目录
vim /home/git/gogs/scripts/init/debian/gogs
然后修改如下:
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="GoGs Git Service"NAME=gogs
SERVICEVERBOSE=yes
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAMEWORKINGDIR=/home/git/gogs #根据自己的目录修改(关键)
DAEMON= WORKINGDIR/NAME
DAEMON_ARGS="web"
USER=git #修改对应用户(关键)
如果你要修改更多的东西,gogs官方的配置里面非常详细的。
4.切回root,拷贝文件和服务拷贝到init.d下
cp /home/git/gogs/scripts/init/debian/gogs /etc/init.d/
添加可执行权限$ chmod +x /etc/init.d/gogs拷贝service
cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/
5.启动 systemctl start gogs.service
启动后,需要查看状态,看看是否有啥问题。
service gogs status
6、如果一些其他配置,请查看下面:
$ /home/git/gogs/custom/conf/app.ini
7、创建时提升无法创建日志目录
$ chmod -R 644 gogs
8、那么这个时候你就可以访问你的地址,端口3000,然后让你填写数据库,账号密码等,会自动初始化。当然如果你想自己初始化,/home/git/gogs/scripts有mysql.sql脚本可以自己初始化哈。
9、远程IP连接问题,修改host为通配符%,这里是因为我的gogs运行程序和mysql不在同一台机器上。
$ mysql -u root -h localhost -p
$ use mysql;
CREATE USER 'dev'@'%' IDENTIFIED BY 'xxxx';
GRANT ALL ON gogs.* TO 'dev'@'%';