This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
инструмент_gitlab [2025/07/29 09:16] val [Установка из пакета] |
инструмент_gitlab [2025/10/15 06:43] (current) val [Управление пользователями] |
||
|---|---|---|---|
| Line 39: | Line 39: | ||
| # cat docker-compose.yml | # cat docker-compose.yml | ||
| </code><code> | </code><code> | ||
| - | version: '3.6' | + | #version: '3.6' |
| services: | services: | ||
| web: | web: | ||
| + | # gitlab: | ||
| image: 'gitlab/gitlab-ce:latest' | image: 'gitlab/gitlab-ce:latest' | ||
| # image: 'gitlab/gitlab-ce:16.7.4-ce.0' | # image: 'gitlab/gitlab-ce:16.7.4-ce.0' | ||
| + | # userns_mode: 'host' | ||
| restart: always | restart: always | ||
| hostname: 'server.corpX.un' | hostname: 'server.corpX.un' | ||
| Line 72: | Line 74: | ||
| # docker-compose up -d | # docker-compose up -d | ||
| - | # docker logs root_web_1 -n 10 -f | + | # docker-compose logs -f |
| ### docker-compose stop | ### docker-compose stop | ||
| Line 88: | Line 90: | ||
| ==== Подключение через API ==== | ==== Подключение через API ==== | ||
| + | |||
| + | === проект === | ||
| * Токен доступа: Settings -> Access Tokens ([[https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html|Project access tokens]]), в примере достаточно role: Reporter, Scopes: api | * Токен доступа: Settings -> Access Tokens ([[https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html|Project access tokens]]), в примере достаточно role: Reporter, Scopes: api | ||
| Line 108: | Line 112: | ||
| export BR=main; bash <(curl -s http://gate.corp13.un/api/v4/projects/1/repository/files/start.sh/raw?ref=$BR) | export BR=main; bash <(curl -s http://gate.corp13.un/api/v4/projects/1/repository/files/start.sh/raw?ref=$BR) | ||
| + | </code> | ||
| + | |||
| + | === REST API интерфейс === | ||
| + | |||
| + | * Search or go to... -> Profile -> Access tokens -> Add new token -> api -> Create token | ||
| + | |||
| + | == Добавление пользователя == | ||
| + | |||
| + | <code> | ||
| + | GITLAB_URL="https://server.corp13.un:4443" | ||
| + | PRIVATE_TOKEN="NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN" | ||
| + | |||
| + | USER_EMAIL="student@corp13.un" | ||
| + | USER_PASSWORD="Pa\$\$w0rd" | ||
| + | USER_USERNAME="student" | ||
| + | USER_NAME="Your Name" | ||
| + | |||
| + | curl --header "PRIVATE-TOKEN: $PRIVATE_TOKEN" \ | ||
| + | --header "Content-Type: application/json" \ | ||
| + | --request POST \ | ||
| + | --data "{ \"email\": \"$USER_EMAIL\", \"password\": \"$USER_PASSWORD\", \"username\": \"$USER_USERNAME\", \"name\": \"$USER_NAME\", \"admin\": true }" \ | ||
| + | "$GITLAB_URL/api/v4/users" -k | ||
| </code> | </code> | ||
| ===== Настройка ===== | ===== Настройка ===== | ||
| Line 222: | Line 248: | ||
| * [[Установка и настройка OpenLDAP]] | * [[Установка и настройка OpenLDAP]] | ||
| * [[Хранение учетных записей UNIX в LDAP]] !!! с атрибутом почты и паролем | * [[Хранение учетных записей UNIX в LDAP]] !!! с атрибутом почты и паролем | ||
| + | * [[Решение FreeIPA]] | ||
| <code> | <code> | ||
| Line 234: | Line 261: | ||
| host: 'server.corpX.un' | host: 'server.corpX.un' | ||
| # host: 'server2.corpX.un' | # host: 'server2.corpX.un' | ||
| + | # host: '192.168.X.10' | ||
| port: 389 | port: 389 | ||
| # uid: 'uid' | # uid: 'uid' | ||
| Line 239: | Line 267: | ||
| # bind_dn: 'cn=admin,dc=corpX,dc=un' | # bind_dn: 'cn=admin,dc=corpX,dc=un' | ||
| # password: 'secret' | # password: 'secret' | ||
| + | # bind_dn: 'uid=admin,cn=users,cn=accounts,dc=corpX,dc=un' | ||
| + | # password: 'strongpassword' | ||
| bind_dn: 'cn=Administrator,cn=Users,dc=corpX,dc=un' | bind_dn: 'cn=Administrator,cn=Users,dc=corpX,dc=un' | ||
| password: 'Pa$$w0rd' | password: 'Pa$$w0rd' | ||
| Line 428: | Line 458: | ||
| script: | script: | ||
| - ansible-playbook openvpn1.yaml -i inventory.yaml -e "variable_host=test_nodes" | - ansible-playbook openvpn1.yaml -i inventory.yaml -e "variable_host=test_nodes" | ||
| + | # - echo $ANS_V_SEC | ansible-playbook openvpn1.yaml -i inventory2.yaml --vault-password-file=/bin/cat -e "variable_host=test_nodes" | ||
| tags: | tags: | ||
| - | - openvpn1deploy | + | - ansible |
| - | # - ansible | + | |
| only: | only: | ||
| - test | - test | ||
| Line 438: | Line 468: | ||
| script: | script: | ||
| - ansible-playbook openvpn1.yaml -i inventory.yaml | - ansible-playbook openvpn1.yaml -i inventory.yaml | ||
| + | # - echo $ANS_V_SEC | ansible-playbook openvpn1.yaml -i inventory2.yaml --vault-password-file=/bin/cat | ||
| tags: | tags: | ||
| - | - openvpn1deploy | + | - ansible |
| - | # - ansible | + | |
| only: | only: | ||
| - | # - master | + | - main |
| - | # - main | + | |
| </code> | </code> | ||