GitLab是一个Git的代码托管工具,有免费的社区版允许我们在本地搭建代码托管网站,很多公司都会搭建自己的git代码管理库。
以便管理自己公司内网的代码。
搭建环境:centos 7 虚拟机
1、gitlab要求至少4G的内存
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 5786 4201 147 29 1438 1265
Swap: 0 0 0
2、准备好Docker容器:https://blog.csdn.net/lishangke/article/details/112856532
直接拉取最新的gitlab版本
docker pull gitlab/gitlab-ce
拉取完后直接通过docker启动:
$ sudo docker run -d -p 8443:443 -p 8090:8090 -p 8022:22 --name gitlab --restart always
-v /data/gitlab/config:/etc/gitlab
-v /data/gitlab/logs:/var/log/gitlab
-v /data/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
-d:后台运行
-p:将容器内部端口向外映射
–name:命名容器名称
-v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
在/data/gitlab/config路径中找到gitlab.rb
[root@localhost config]# ls
gitlab.rb initial_root_password ssh_host_ecdsa_key.pub ssh_host_ed25519_key.pub ssh_host_rsa_key.pub
gitlab-secrets.json ssh_host_ecdsa_key ssh_host_ed25519_key ssh_host_rsa_key trusted-certs
在gitlab.rb配置中添加:
# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://192.168.220.144:8090'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.220.144'
# 此端口是run时22端口映射的222端口
gitlab_rails['gitlab_shell_ssh_port'] = 8022
然后重启gitlab
docker restart gitlab
然后在浏览器上访问:http://192.168.220.144:8090

出现这个页面不是失败,Gitlab启动比较慢,要多等一会儿。
1、root 默认密码放在initial_root_password 文件底下,通过以下指令查看
docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
find / -name initial_root_password
cat /data/gitlab/config/initial_root_password
2、修改默认的密码
首先进入gitlab控制台:
docker exec -it gitlab /bin/bash
接着进入指定的gitlab-rails控制台:
gitlab-rails console -e production
这一步可能等待比较久,多等一下等进入输入控制台
按步骤一步一步执行:
user =User.find(1) //第一步
user.password ='123456?' //第二步
user.password_confirmation ='123456?' //第三步
user.send_only_admin_changed_your_password_notification! //第四步
user.save! //第五步
[root@localhost config]# docker exec -it gitlab /bin/bash
root@8e97133ab2de:/# gitlab-rails console -e production
--------------------------------------------------------------------------------
Ruby: ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux]
GitLab: 14.6.1 (661d663ab2b) FOSS
GitLab Shell: 13.22.1
PostgreSQL: 12.7
--------------------------------------------------------------------------------
Loading production environment (Rails 6.1.4.1)
irb(main):001:0> user =User.find(1)
=> #<User id:1 @root>
irb(main):002:0> user.password ='123456?'
=> "123456?"
irb(main):003:0> user.password_confirmation ='123456?'
=> "123456?"
irb(main):004:0> user.send_only_admin_changed_your_password_notification!
=> true
irb(main):005:0> user.save!
=> true
然后通过exit退出,在重启gitlab。
因 docker 版本的gitlab 启动会自动启动 prometheus|grafana|alertmanager 和一系列 exporter, 非常占用资源,且导致启动比较慢,因此我们可以通过修改 /etc/gitlab/gitlab.rb 来关闭该功能。
默认启动包含如下内容:
# ps -ef|grep -E 'prome|exporter|alert|graf'
git 280 272 0 10:09 ? 00:00:00 /opt/gitlab/embedded/bin/gitlab-workhorse -listenNetwork unix -listenUmask 0 -listenAddr /var/opt/gitlab/gitlab-workhorse/sockets/socket -authBackend http://localhost:8080 -authSocket /var/opt/gitlab/gitlab-rails/sockets/gitlab.socket -documentRoot /opt/gitlab/embedded/service/gitlab-rails/public -pprofListenAddr -prometheusListenAddr localhost:9229 -secretPath /opt/gitlab/embedded/service/gitlab-rails/.gitlab_workhorse_secret -logFormat json -config config.toml
root 350 23 0 10:09 ? 00:00:00 runsv redis-exporter
root 351 23 0 10:09 ? 00:00:00 runsv gitlab-exporter
root 352 23 0 10:09 ? 00:00:00 runsv grafana
root 353 23 0 10:09 ? 00:00:00 runsv postgres-exporter
root 355 23 0 10:09 ? 00:00:00 runsv alertmanager
root 356 23 0 10:09 ? 00:00:00 runsv prometheus
root 357 351 0 10:09 ? 00:00:00 svlogd -tt /var/log/gitlab/gitlab-exporter
root 358 350 0 10:09 ? 00:00:00 svlogd -tt /var/log/gitlab/redis-exporter
root 359 352 0 10:09 ? 00:00:00 svlogd -tt /var/log/gitlab/grafana
gitlab-+ 360 352 0 10:09 ? 00:00:00 /opt/gitlab/embedded/bin/grafana-server -config /var/opt/gitlab/grafana/grafana.ini
gitlab-+ 361 350 0 10:09 ? 00:00:00 /opt/gitlab/embedded/bin/redis_exporter --web.listen-address=localhost:9121 --redis.addr=unix:///var/opt/gitlab/redis/redis.socket
root 362 353 0 10:09 ? 00:00:00 svlogd -tt /var/log/gitlab/postgres-exporter
git 363 351 0 10:09 ? 00:00:07 /opt/gitlab/embedded/bin/ruby /opt/gitlab/embedded/bin/gitlab-exporter web -c /var/opt/gitlab/gitlab-exporter/gitlab-exporter.yml
gitlab-+ 365 353 0 10:09 ? 00:00:01 /opt/gitlab/embedded/bin/postgres_exporter --web.listen-address=localhost:9187 --extend.query-path=/var/opt/gitlab/postgres-exporter/queries.yaml
root 366 355 0 10:09 ? 00:00:00 svlogd -tt /var/log/gitlab/alertmanager
root 368 356 0 10:09 ? 00:00:00 svlogd -tt /var/log/gitlab/prometheus
gitlab-+ 369 356 1 10:09 ? 00:00:12 /opt/gitlab/embedded/bin/prometheus --web.listen-address=localhost:9090 --storage.tsdb.path=/var/opt/gitlab/prometheus/data --config.file=/var/opt/gitlab/prometheus/prometheus.yml
gitlab-+ 370 355 0 10:09 ? 00:00:00 /opt/gitlab/embedded/bin/alertmanager --web.listen-address=localhost:9093 --storage.path=/var/opt/gitlab/alertmanager/data --config.file=/var/opt/gitlab/alertmanager/alertmanager.yml
root 618 615 0 10:11 ? 00:00:00 tail --follow=name --retry /var/log/gitlab/redis-exporter/current /var/log/gitlab/redis-exporter/state /var/log/gitlab/postgresql/current /var/log/gitlab/postgresql/state /var/log/gitlab/sidekiq/current /var/log/gitlab/sidekiq/state /var/log/gitlab/gitlab-exporter/current /var/log/gitlab/gitlab-exporter/state /var/log/gitlab/gitlab-rails/gitlab-rails-db-migrate-2022-02-10-01-12-10.log /var/log/gitlab/gitlab-rails/exceptions_json.log /var/log/gitlab/gitlab-rails/application.log /var/log/gitlab/gitlab-rails/web_exporter.log /var/log/gitlab/gitlab-rails/application_json.log /var/log/gitlab/gitlab-rails/sidekiq_client.log /var/log/gitlab/gitlab-rails/audit_json.log /var/log/gitlab/gitlab-rails/api_json.log /var/log/gitlab/gitlab-rails/auth.log /var/log/gitlab/gitlab-rails/production.log /var/log/gitlab/gitlab-rails/service_measurement.log /var/log/gitlab/gitlab-rails/graphql_json.log /var/log/gitlab/gitlab-rails/production_json.log /var/log/gitlab/gitlab-rails/git_json.log /var/log/gitlab/gitlab-rails/grpc.log /var/log/gitlab/logrotate/current /var/log/gitlab/grafana/current /var/log/gitlab/grafana/state /var/log/gitlab/postgres-exporter/current /var/log/gitlab/postgres-exporter/state /var/log/gitlab/nginx/gitlab_access.log /var/log/gitlab/nginx/gitlab_error.log /var/log/gitlab/nginx/current /var/log/gitlab/nginx/access.log /var/log/gitlab/nginx/error.log /var/log/gitlab/redis/current /var/log/gitlab/redis/state /var/log/gitlab/alertmanager/current /var/log/gitlab/alertmanager/state /var/log/gitlab/gitlab-workhorse/current /var/log/gitlab/gitlab-workhorse/state /var/log/gitlab/prometheus/current /var/log/gitlab/prometheus/state /var/log/gitlab/sshd/current /var/log/gitlab/gitaly/current /var/log/gitlab/gitaly/gitaly_ruby_json.log /var/log/gitlab/gitaly/state /var/log/gitlab/puma/puma_stderr.log /var/log/gitlab/puma/current /var/log/gitlab/puma/puma_stdout.log /var/log/gitlab/puma/state
root 2385 1071 0 10:26 pts/0 00:00:00 grep --color=auto -E prome|exporter|alert|graf
通过修改gitlab.rb配置文件:
alertmanager['enable'] = false
node_exporter['enable'] = false
redis_exporter['enable'] = false
postgres_exporter['enable'] = false
gitlab_exporter['enable'] = false
prometheus_monitoring['enable'] = false
grafana['enable'] = false
然后重启启动gitlab,再查看
[root@localhost config]# ps -ef|grep -E 'prome|exporter|alert|graf'
chrony 96781 96777 0 07:46 ? 00:00:03 /opt/gitlab/embedded/bin/gitlab-workhorse -listenNetwork unix -listenUmask 0 -listenAddr /var/opt/gitlab/gitlab-workhorse/sockets/socket -authBackend http://localhost:8080 -authSocket /var/opt/gitlab/gitlab-rails/sockets/gitlab.socket -documentRoot /opt/gitlab/embedded/service/gitlab-rails/public -pprofListenAddr -prometheusListenAddr localhost:9229 -secretPath /opt/gitlab/embedded/service/gitlab-rails/.gitlab_workhorse_secret -logFormat json -config config.toml
root 97762 97761 0 07:55 ? 00:00:00 tail --follow=name --retry /var/log/gitlab/sshd/current /var/log/gitlab/gitlab-rails/gitlab-rails-db-migrate-2022-10-28-09-37-05.log /var/log/gitlab/gitlab-rails/production.log /var/log/gitlab/gitlab-rails/application.log /var/log/gitlab/gitlab-rails/application_json.log /var/log/gitlab/gitlab-rails/grpc.log /var/log/gitlab/gitlab-rails/service_measurement.log /var/log/gitlab/gitlab-rails/auth.log /var/log/gitlab/gitlab-rails/sidekiq_client.log /var/log/gitlab/gitlab-rails/production_json.log /var/log/gitlab/gitlab-rails/api_json.log /var/log/gitlab/gitlab-rails/gitlab-rails-db-migrate-2022-10-28-09-47-20.log /var/log/gitlab/gitlab-rails/exceptions_json.log /var/log/gitlab/logrotate/current /var/log/gitlab/redis/current /var/log/gitlab/gitaly/gitaly_ruby_json.log /var/log/gitlab/gitaly/current /var/log/gitlab/postgresql/current /var/log/gitlab/puma/puma_stdout.log /var/log/gitlab/puma/puma_stderr.log /var/log/gitlab/puma/current /var/log/gitlab/sidekiq/current /var/log/gitlab/gitlab-workhorse/current /var/log/gitlab/nginx/current /var/log/gitlab/nginx/error.log /var/log/gitlab/nginx/gitlab_access.log /var/log/gitlab/nginx/gitlab_error.log /var/log/gitlab/nginx/access.log /var/log/gitlab/gitlab-exporter/current /var/log/gitlab/redis-exporter/current /var/log/gitlab/prometheus/current /var/log/gitlab/alertmanager/current /var/log/gitlab/postgres-exporter/current /var/log/gitlab/grafana/current
root 98228 92777 0 07:58 pts/1 00:00:00 grep --color=auto -E prome|exporter|alert|graf
重新访问:http://192.168.220.144:8090,出现一下界面代表你安装成功:

在本地打开git bash 客户端输入ssh-keygen 生成公钥和私钥
ssh-keygen -t rsa -C 'xxx@xxx.com'
lsk1@LAPTOP-0SIF32SL MINGW64 /e/Project/Java_Project/eureka
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/wlsk1/.ssh/id_rsa): //首次回车
Enter passphrase (empty for no passphrase): //可以输入密码
Enter same passphrase again: //再次确认密码
Your identification has been saved in /c/Users/wlsk1/.ssh/id_rsa.
Your public key has been saved in /c/Users/wlsk1/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:sGfrvxU09TPXBfyVhMEyN4k/j/a7WSaaPywPSp3gClk wlsk1@LAPTOP-0SIF32SL
The key's randomart image is:
+---[RSA 3072]----+
| ooBoo|
| + B.o+|
| . B .+=|
| o . + =|
| . E . . + |
| = o o = . |
| o . o *.o o|
| o o o.+o+o|
| o.+.o+o=o|
在本地目录c/Users/wlsk1/.ssh/id_rsa.pub.下查找id_rsa.pub打开并复制到

接着自己通过Git客户端直接拉取代码就行。
我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po
我打算为ruby脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn
我有一个奇怪的问题:我在rvm上安装了rubyonrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(
我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs
我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e
我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search
我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121
由于fast-stemmer的问题,我很难安装我想要的任何rubygem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=
当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub
当我执行>rvminstall1.9.2时一切顺利。然后我做>rvmuse1.9.2也很顺利。但是当涉及到ruby-v时..sam@sjones:~$rvminstall1.9.2/home/sam/.rvm/rubies/ruby-1.9.2-p136,thismaytakeawhiledependingonyourcpu(s)...ruby-1.9.2-p136-#fetchingruby-1.9.2-p136-#downloadingruby-1.9.2-p136,thismaytakeawhiledependingonyourconnection...%Total%Rece