Installing Gitlab
- Setting environment variables
export GITLAB_HOME=/srv/gitlab
- Write docker-compose.yml
[root@origin ~]# mkdir -p /opt/docker-compose/gitlab [root@origin ~]# vim /opt/docker-compose/gitlab/docker-compose.yml
version: '3.8' services: gitlab: hostname: 'abc.efg.xyz' image: 'gitlab/gitlab-ce:14.2.4-ce.0' restart: always environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://abc.efg.xyz:9080' gitlab_rails['gitlab_shell_ssh_port'] = 9022 gitlab_rails['time_zone'] = 'Asia/Shanghai' ports: - '9080:9080' - '9443:443' - '9022:22' volumes: - '$GITLAB_HOME/config:/etc/gitlab' - '$GITLAB_HOME/logs:/var/log/gitlab' - '$GITLAB_HOME/data:/var/opt/gitlab'
- Start Gitlab
[root@origin gitlab]# docker-compose up -d
- Start successful
[note] the new version of Gitlab will not prompt to set the root password when logging in for the first time. The initial password is / etc/gitlab/initial_root_password, which is mapped to / SRV / Gitlab / config / initial on the host according to the mapping rules_ root_ password
[root@origin ~]# cat /srv/gitlab/config/initial_root_password # WARNING: This value is valid only in the following conditions # 1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run). # 2. Password hasn't been changed manually, either via UI or via command line. # # If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password. Password: 1fBcwYj2Qbf5yyZubJJj51KH2T3BPvl02MoBAOiyiWc= # NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.
- Log in as root user
Login succeeded. It is recommended to set the password first. - HTTP export project
The first time you visit the warehouse, you need to enter a password. You can choose to cache the password locally, otherwise you need a password for each operation
Successfully exported
- SSH secret free export project
- Generate key pair
$ ssh-keygen.exe -t rsa -C "kal" -f kal_id_rsa Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in kal_id_rsa. Your public key has been saved in kal_id_rsa.pub. The key fingerprint is: SHA256:3f2nJxYnGOwDfjfqXptsVIO2aK6q1bchndVBUYEslk0 kal The key's randomart image is: +---[RSA 2048]----+ | =E.+=| | + +. | | ... .. | | ...o+..o| | S..o++oo.| | . ooB.*..| | . oo* =.=o| | . o.+o++o| | ......+oo=o | +----[SHA256]-----+
- Warehouse configuration public key
- Test ssh connection
$ ssh -T -p 9022 git@abc.efg.xyz Welcome to GitLab, @root!
- ssh export project
Configure mailbox
Gitlab configuration mailbox is a common configuration item. Here is a brief introduction. For other configuration items, please refer to the official documents
Take QQ email as an example
Most Gitlab configurations are in the / etc/gitlab/gitlab.rb file
Based on the previous mapping rules, this file can be found in the host
/srv/gitlab/config/gitlab.rb
- Modify configuration
gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.qq.com" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "xxxxx@qq.com" gitlab_rails['smtp_password'] = "Password or authorization code" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = true gitlab_rails['gitlab_email_from'] = 'xxxxx@qq.com' gitlab_rails['smtp_domain'] = "mail.qq.com"
- Reconfigure Gitlab
It is recommended to execute gitlab CTL reconfigure in the container. If you restart the container, it will take a long time... - Set administrator mailbox
After setting, the mailbox will receive an email to confirm the mailbox.
- After confirmation, you can see that the mailbox has become verified
Next, you can set the mailbox of the system
- In order to test the email notification, we also need to register a user. Here, we can directly use the administrator to add an account, and the user can directly go to the mailbox for authentication
Add user mailbox to notification list
- Execute push operation
Mail received successfully - Other common configurations
Close Gravatar Avatar
Close user registration
The previous scattered knowledge points will be sorted out later