git为私有仓库设置密码_群晖搭建Gitlab服务器及git删除远程仓库文件技巧

群晖安装Gitlab服务器并配置邮件服务器

使用群晖(Synology)可以方便快速实现很多需要复杂的安装与配置的功能,比如快速搭建博客、网站、音频、视频、相册服务等。对于软件工作来说,另一个强大的功能就是可以快速搭建git服务器。由于git在现代版本控制系统中的重要地位,能快速实现完整的git服务器搭建,实现公有与私有的软件仓库功能,无疑让群晖的价值得以进一步体现于发挥。

git为私有仓库设置密码_群晖搭建Gitlab服务器及git删除远程仓库文件技巧_第1张图片

在群晖的官方套件中包含有Git Server和Gitlab两个版本的git服务器。其中git server为群晖原生安装包,搭建后仅可以通过ssh方式命令行访问与操作git仓库,对于不熟悉git命令或者更熟悉gitlab可视化界面的用户而言颇有不便。此外,由于群晖默认的管理权限限制,只有拥有管理权限,在Administration群组中的用户才可以通过ssh方式访问服务器,而如果给团队成员赋予太多Administration的权限的话,对服务器安全会带来更多潜在威胁,因此,git server似乎更适合熟悉git命令行的家庭个人开发者(独自拥有完全的服务器操作权限)。

git为私有仓库设置密码_群晖搭建Gitlab服务器及git删除远程仓库文件技巧_第2张图片

相比之下,gitlab则提供了完整的可视化界面,如果对github熟悉,在使用gitlab时会有种天然的熟悉感,同时,gitlab也和github一样,提供了ssh和http两种不同的方式来访问软件仓库,可以在不需要特殊的服务器管理权限的条件下就可以操作自己的软件仓库文件。这在权限设计上更安全也更方便。

群晖的gitlab安装是基于Docker的,对于群晖来说,Docker套件的引入让群晖几乎变得无所不能,这得益于Docker中巨大的软件仓库。在性能允许的条件下,群晖可以安装不同的Docker映像,比如Ubuntu等linux发行版,或者postgresql等单独的软件,基于docker的技术让软件之间不再相互影响。从这个意义上,群晖中大部分套件比如虚拟机管理、数据库等都变得弱化很多。随着对Docker的熟悉,你会越来越喜欢用Docker来安装需要的功能。

群晖提供一键式安装gitlab套件的功能,只要在套件中心选择gitlab并进行安装,即可自动下载并完成安装。在安装过程中,需要设置数据库用户名和密码,以及对外的端口映射,默认设置是将gitlab的http80和ssh22端口映射到群晖30000和30001端口上,如果服务器防火墙开启,则需要注意开放相应端口供访问gitlab(由于ssh功能实际无法使用,我的30001端口更改为映射至gitlab 443端口用于https访问)。

这些设置在安装完成后都是可以修改的,而要实现gitlab对外发邮件功能,也需要预先设置自己的邮件服务器相关信息,但群晖套件提供的默认邮件设置是不完整的,需要额外加一些环境变量才能完成。因此,安装gitlab套件时可以先不选择安装完成后启动(如果启动则需要先在套件中停用gitlab套件,修改完环境变量之后再启动,才可实现邮件发送的功能)

通过群晖的开始菜单–>Docker进入Docker,选择容器,选择Gitlab并编辑(如果Gitlab在启动中则编辑功能不可用),进入编辑后可以看到环境变量的参数,需要添加SMTP邮件服务器变量参数才可以实现邮件发送。同时,端口映射也可以在此处修改。以网易126邮件服务器为例进行配置。

git为私有仓库设置密码_群晖搭建Gitlab服务器及git删除远程仓库文件技巧_第3张图片

笔者配置qq邮件服务器失败,仅126邮件成功过,因此只能举这个例子,同时需要注意,网易和qq邮箱最近都改为了邮箱授权码登陆的体制,在使用第三方客户端时输入邮箱密码是不能用的,只有通过手机验证并设置授权码才可以使用,而在gitlab环境变量设置里,要设置的密码也是邮箱授权码。对于默认配置时没有的变量,通过增加变量的方式添加进去即可。

SMTP_ENABLED:true(通过SMTP发信功能启用)SMTP_DOMAIN:smtp.126.com (SMTP域)SMTP_HOST:smtp.126.com (SMTP服务器主机)SMTP_PORT:465 (SMTP服务器端口。默认为587。)SMTP_USER:你的邮箱名(SMTP用户名。)SMTP_PASS:你邮箱的密码(SMTP密码。)SMTP_STARTTLS:true (启用STARTTLS。)SMTP_TLS:true (启用SSL / TLS)SMTP_OPENSSL_VERIFY_MODE:none (SMTPopenssl验证模式。可接受的值是none,peer,client_once和faSMTP_AUTHENTICATION:login(指定SMTP身份验证的方法)

安装完成后,启动gitlab服务,由于服务器性能不同,启动时间可能稍长,在启动期间访问gitlab地址可能返回502错误,大部分时候稍等即可解决。首次登录时会出现设置密码的界面,为默认的root用户(管理员)设置密码,之后就可以通过该用户访问。管理系统资料,用户等。如果要修改个人资料中的邮箱地址,需要通过确认邮件确认,这就需要之前配置的邮件服务器工作才可以实现。

通过这样的设置,gitlab就可以正常使用了。如果熟悉github的使用,那么几乎一切功能都依样画葫芦就可以。enjoy。

git为私有仓库设置密码_群晖搭建Gitlab服务器及git删除远程仓库文件技巧_第4张图片

gitlab

git 只删除远程仓库文件的技巧

在使用visual studio,pycharm或者eclipse之类IDE新建项目时,往往会新建出来和项目有关的程序,在建立git仓库时,常规的做法是先新建一个.gitignore的文件,把不需要纳入版本管理的文件和文件类型写入进去,之后再push到远程的软件仓库中。但如果开始有所忽略,将一部分不需要的文件推送到远程仓库之中的话,就需要从服务器删除掉(!因为本地还要用这些文件,所以不能在本地删除再同步)。

git为私有仓库设置密码_群晖搭建Gitlab服务器及git删除远程仓库文件技巧_第5张图片

在git命令行使用下列命令删除远程文件并commit与push到远方,即可在服务器上删除不必要的文件。

git rm -r --cached xxx.xxx

在使用时一定要主要 –cached 参数,是删除仓库缓存,如果没有这个参数,就会误删本地文件,和普通rm命令一样,-r命令表示递归。

git commit -m "your comments"git push

你可能感兴趣的:(git为私有仓库设置密码,仓库已开始作业无法修改地址,开启本地git权限,群晖docker下载失败,群晖套件中心没有docker)