24 配置所有本地仓的账号、邮箱
$ git config --global username "Your Name"
$ git config --global useremail "email@examplecom"
25 为避免每次远程访问输入密码,使用ssh登陆。ssh应该是与本机信息绑定的,所以每台电脑需要单独生成。
$ ssh-keygen -t rsa -C "youremail@examplecom"
26 ssh只是本地详细,需要在GitLab中备份,才能被验证。打开自己的GitLab,在My Profile中,点击Add Public Key,title随意。
27 key中的内容在本机C盘中,C:\Users\a
扩展参考:Jenkins+Gitlab通过脚本自动部署回滚web项目至集群
1):Gitlab服务器:ubuntu 192168152131 ---参考搭建:Linux安装gitlab,docker安装gitlab教程
2):Jenkins服务器:ubunu 192168152130 ---参考搭建:linux安装Jenkins,或docker安装Jenkins教程
在服务器上生成ssh-keygen,用于配置web服务器和Gitlab服务器。
3):web服务器:centos 192168152150 ---已搭建好LNMP环境
4):开发者电脑:Windows+key密钥 (用于提交代码)
1:在gitlab创建项目Test Project
21): 配置一个开发者电脑的ssh公钥到gitlab
配置一个开发者电脑的ssh公钥到gitlab,这样才能模拟开发上传代码到gitlab。
windows生成key过程及git安装,可参考:Windows下git和github的使用图文详细教程_the丶only的博客-CSDN博客_github win
在windows测试clone,和提交代码。
注:最新版git 已经将默认分支master改为main了。所以看到main,而不是master不要太奇怪
测试成功,在gitlab也显示有indexhtml文件。
22): 配置jenkins公钥到gitlab
同理,同样需要jenkins公钥,因为jenkins也需要拉去gitlab的代码。
在 jenkins服务器 上查看公钥并复制添加到gitlab,并命名为jekins。
1:插件管理,安装插件
jenkins本身没什么功能,主要是依靠插件来实现各种强大的功能。
基本需要添加的插件:Gitlab Hook、Build Authorization Token Root、Publish Over SSH、Gitlab Authentication、Gitlab、Git Parameter
可以在 Manage Jenkins >> Manage Plugins 查看管理插件。在Available 选项搜索安装插件即可。
安装完成后,重启Jenkins。
2:添加需要部署的web主机
在 Manage Jenkins >> Configure System 中往下翻,找到 Publish over SSH 选项,点击add ssh server。
在Jenkins服务器上,查看私钥,注,是私钥,不是公钥。
将私钥填写在key位置,还有添加web服务器相关信息。
注:如果测试报错如下
Failed to connect or change directory
jenkinspluginspublish_overBapPublisherException: Failed to add SSH key Message [invalid privatekey: [B@2e54414f]
是因为默认用ssh-keygen命令,默认生成了OPENSSH 格式密钥。而Jenkins暂时不支持这种私钥,私钥开头结尾如下:
所以,需要生成rsa密钥格式的。用开头说的ssh-keygen加其他参数生成即可。
私钥开头结尾如下:
再次测试,显示success,则成功。然后点击save保存即可。
3:构建任务项目
首页创建任务或者一个项目
命名为web-project,选择为freestyle project 自由项目。然后ok确认。
31):源码管理 Source Code Management
选择源码管理,添加gitlab的项目clone地址。
注:最后路径选择分支,我gitlab主分支名字为main,如果是master,则写master,或者合并的其他分支。
在add添加用户
添加完成后,选择git用户,这时没有红色提醒,说明已成功连接
32):构建触发器 Build Triggers
现在Build Triggers,勾选build when,其他默认,并记下链接 >$ apt-get install git
$ sudo adduser git
收集所有需要登录的用户的公钥,公钥位于id_rsapub文件中,把我们的公钥导入到/home/git/ssh/authorized_keys文件里,一行一个。
如果没有该文件创建它:
首先我们选定一个目录作为Git仓库,假定是/home/gitlab/runoobgit,在/home/gitlab目录下输入命令:
一定要将初始化的仓库给Git
$ chown -R git:git probjectgit
$ git clone git@<ip>:/home/gitlab/probjectgit
然后就可以推送了
出于安全考虑,创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash
改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。
安装GitLab面临问题何服务器git项目直接导入GitLab前Git服务器由git+apache搭建(详见Linux用Apache搭建Git服务器)
网发现篇文档——Import bare repositories into your GitLab instance并按进行 *** 作
1)设置存放代码库主目录
vi /etc/gitlab/gitlabrb
比设置:git_data_dir "/gitlab/repos"
2)访问刚搭建GitLab站点创建group比cnblogs
/gitlab/repos 创建 /gitlab/repos/repositories/cnblogs 文件夹
/gitlab/repos/repositories/创建文件夹比cnblogs
3)现所git项目文件复制文件夹
cp -r /data/git/ /gitlab/repos/repositories/cnblogs
4)修改复制文件夹所者:
chown -R git:git /gitlab/repos/repositories/cnblogs
5)运行GitLab导入命令
cd /var/opt/gitlab
gitlab-rake gitlab:import:repos
等段间显示done却项目没导入进
经研究发现导入GitLab认文件夹名git结尾项目于要导入项目文件夹名称加git缀再进行导入
结显示导入功比:
Processing cnblogs/CNBlogsJobgit
Created CNBlogsJob (cnblogs/CNBlogsJobgit)
Done!
GitLab站点却看已导入项目努力没能解决问题
实没办改手导入导入:
1)GitLab站点创建与要导入项目同名项目
2)进入刚创建项目文件夹
cd /gitlab/repos/repositories/cnblogs/项目名称git
3)删除该文件所文件
rm -rf
4)要导入项目文件夹所文件复制
cp -r /data/git/CNBlogsJob/ /gitlab/repos/repositories/cnblogs/CNBlogsJobgit
项目导入进
5)导入完修改导入所项目文件所者
chown -R git:git /gitlab/repos/repositories/cnblogs
修改所者客户端进行git push
手完现Git项目导入
备注: *** 作系统CentOS 62GitLab版本784gitlab-ce是gitlab的社区版本(免费)。
选择一个star数量最多的,相信大家的选择,嘿嘿。
在服务器的根目录新建一个目录,命名为 "docker-mnt"。
表示,所有和docker相关的挂载目录都放在“docker-mnt”目录中管理。
进入“docker-mnt”目录后,再新建一个"gitlab"目录,用于管理gitlab相关的挂载目录。
参考博客: >
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)