
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдбреЙрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдирдПрдПрд╕ рд╣реИ , рддреЛ рдЧрд┐рдЯрд▓реИрдм рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред
рдпрд╣ рд▓реЗрдЦ рдПрдирдПрдПрд╕ рд╕рдорд░реНрдердХ рдЪрдХреНрд░ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдФрд░ рдпрд╣ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдХрд╛рд╕ рдХреА рдЯреАрдо, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рд┐рд▓рд╡рд╛рдпрд╛ рдЧрдпрд╛ рдУрдПрд╕ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдЯреЛрд░ рдХреЗ рдмрд┐рдирд╛, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддреИрдпрд╛рд░ рдордВрдЪ рдкрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╣реЗрд░рдлреЗрд░ рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реИред
рдЧрд┐рдЯрд▓реИрдм рдХреНрдпреЛрдВ?
Git рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдХрдИ рдкреНрд░рдгрд╛рд▓рд┐рдпрд╛рдБ рд╣реИрдВред
рдЗрдирдореЗрдВ рд╕реЗ, рдкрд░рд┐рдкрдХреНрд╡ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВ ...- рдмрд┐рдЯрдХреЙрдЗрди рдПрдХ рднреБрдЧрддрд╛рди рдФрд░ рдмрдВрдж рдкреНрд░рдгрд╛рд▓реА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИред рдпрд╣ рдЕрдиреНрдп рдПрдЯрд▓рд╕рд┐рдпрди рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЛ рдорд╛рдирддрд╛ рд╣реИ рдЬреЛ рдореИрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВред рдЬрд╛рд╡рд╛ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕ рдиреАрддрд┐ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдЖрдкрдХреЛ рд╕рдм рдХреБрдЫ рднреБрдЧрддрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд▓рд┐рдП рднреА (рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд╣рд╛рдБ рднреА рдореБрдлреНрдд рд╡рд╛рд▓реЗ рд╣реИрдВ)ред
- Gogs Gitlab рдХреЗ рд╕рдорд╛рди рдПрдХ рдкреНрд░рдгрд╛рд▓реА рд╣реИред рдЧреЛ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдЬрдм рдореИрдВрдиреЗ рдЖрдЦрд┐рд░реА рдмрд╛рд░ рдЗрд╕рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рджреЗрдЦрд╛, рддреЛ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдХреА рдХреЛрдИ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рдереАред рд╣рд╛рдВ, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдпрд╣ рдЧреАрддрд╛рд▓рд╛рдм рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реЗ рдкреАрдЫреЗ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдмрд╣реБрдд рдирдпрд╛ рд╣реИ:
- рд▓рд╛рдЗрдЯрд╡реЗрдЯред
- рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЧрд┐рдердм рдХреЗ рд╕рдорд╛рди рд╣реИред
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдмрдВрдзрдиред
- рдмрдЧ рдЯреНрд░реИрдХрд░ред
- рд╡рд┐рдХреАред
- рдХреЛрдИ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдирд╣реАрдВред
- рдЧрд┐рдЯ рд╣реБрдХ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдердиред
- HTTPS / SSH рдкрд░ рдкрд╣реБрдВрдЪреЗрдВред
- рдЧреЛ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
- рдЧреАрддрд╛ рдХрд╛ рдПрдХ рдХрд╛рдВрдЯрд╛ рд╣реИ ред
- рдПрдХ LDAP рдкреНрд▓рдЧрдЗрди рд╣реИред
- Gitea - рдЧреЙрдЧреНрд╕ рдХрд╛ рдХрд╛рдВрдЯрд╛ред рдЧреЙрдЧреНрд╕ рдореЗрдВ рдХреНрдпрд╛ рдЧрд╛рдпрдм рд╣реИ:
- рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ред
- рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдЧреНрд░рд╣рдгред
- рдЯреИрдЧред
- рдкрд░рд┐рд╖реНрдХреГрдд рдЦреЛрдЬред
- рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рдкреНрд░рдЧрддрд┐ рдХрд╛рд░реНрдпред
- LDAP рднреА рд╕рдорд░реНрдерд┐рдд рд╣реИред
- рдХреИрд▓рд┐рдерд┐рдпрд╛ - рд░реЛрдбрдХреЛрдб рдХрд╛ рдХрд╛рдВрдЯрд╛ред
- рдмрд╣реБрдд рдЙрдиреНрдирдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд╕рдореВрд╣ рдкреНрд░рдмрдВрдзрдиред
- рд░рд┐рдореЛрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рдиред
- рдмрдЧ рдЯреНрд░реИрдХрд░ред
- рд╡рд┐рдХреАред
- рдПрдХ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рд╣реИред
- рдЧрд┐рдЯ рд╣реБрдХ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдердиред
- HTTPS / SSH рдкрд░ рдкрд╣реБрдВрдЪреЗрдВред
- рдкрд╛рдпрдерди рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
- LDAP рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рддрд╛ рд╣реИред
- рдбреЙрдХрдЯрд░ рдЫрд╡рд┐ рд╣реИред
- рдлреЗрдХрд┐рд▓рд┐рдЯреА рдлреЗрд╕рдмреБрдХ рдХреА рдПрдХ рдкреНрд░рдгрд╛рд▓реА рд╣реИред рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡реНрдпрд╛рдкрдХ рд╣реИ, рди рдХреЗрд╡рд▓ рдПрдХ рд╕рдореАрдХреНрд╖рд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдПрдХ рдХрд╛рд░реНрдп рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА рднреА рд╣реИред рдореИрдВрдиреЗ рдЗрд╕ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ред
- Gerrit - рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЪрд░реНрдЪрд╛ рдФрд░ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рдеред
- Sr.ht - рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЕрдиреБрд╢рдВрд╕рд┐рдд ред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛рдлреА рд╡реНрдпрд╛рдкрдХ рд╣реИред рд▓реЗрдХрд┐рди рд╕рд┐рд╕реНрдЯрдо рдЕрднреА рднреА рд╕рдХреНрд░рд┐рдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЕрдзреАрди рд╣реИред
рдореИрдВрдиреЗ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдЧреАрддрд╛рд▓рд╛рдм рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реАрдЖрдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИ, рдЬреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд╛рдо рдЖрдПрдЧреАред рдкреНрд░рдгрд╛рд▓реА рдкрд░рд┐рдкрдХреНрд╡ рд╣реИ, рдЗрд╕ рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИрдВ, рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, рдЧреАрддрд╛рд▓рд╛рдм рдиреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрд╡рд╕рд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕реЗ рдЪреБрдирд╛ред
рд╕рд╛рдорд╛рдиреНрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕
рдореИрдВ рдЙрд╕реАersbn рд╕реЗ Gitlab рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ ред
docker-compose.yml
(рдлрд╝рд╛рдЗрд▓ рдХреЛ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рднреА рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ), рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
DB_PASS
- Gitlab рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдбред postgresql
рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПредGITLAB_SECRETS_DB_KEY_BASE
, GITLAB_SECRETS_SECRET_KEY_BASE
, GITLAB_SECRETS_OTP_KEY_BASE
- рдХреБрдВрдЬреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдорд╛рдиредGITLAB_ROOT_EMAIL
- рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдИ-рдореЗрд▓редGITLAB_ROOT_PASSWORD
- рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкрд╛рд╕рд╡рд░реНрдб, рдЬрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВ рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИредGITLAB_EMAIL
, GITLAB_EMAIL_REPLY_TO
, GITLAB_INCOMING_EMAIL_ADDRESS
- рдореЗрд▓ рдЕрд▓рд░реНрдЯ рдХреЗ рдкрддреЗредSMTP_HOST
, SMTP_PORT
, SMTP_USER
, SMTP_PASS
- рдореЗрд▓ рдЕрд▓рд░реНрдЯ рдХреЗ рд▓рд┐рдП SMTP рд╕реЗрдЯрд┐рдВрдЧреНрд╕редIMAP_HOST
, IMAP_PORT
, IMAP_USER
, IMAP_PASS
- Gitlab рди рдХреЗрд╡рд▓ рдореЗрд▓ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ IMAP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреА рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред рдИ-рдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдЙрд╕рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реИред
LDAP рд╕реЗрдЯрдЕрдк
рдПрдирдПрдПрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЧрд┐рдЯрд▓реИрдм рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдПрд▓рдбреАрдПрдкреА рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЬрдм LDAP рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ Gitlab: LDAP рдФрд░ Standard рджрд░реНрдЬ рдХрд░рддреЗ рд╕рдордп рджреЛ рдЯреИрдм рд╣реЛрдВрдЧреЗред
рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЗрд╡рд▓ рдорд╛рдирдХ рдЯреИрдм рдкрд░ рд▓реЙрдЧ рдЗрди рдХрд░ рдкрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдкрдВрдЬреАрдХреГрдд рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗрд╡рд▓ LDAP рдЯреИрдм рдкрд░ рд╣реИрдВред
рдПрд▓рдбреАрдПрдкреА рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рдЦреЛ рдЬрд╛рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рдкреНрд░рд╢рд╛рд╕рдХ рдкрдВрдЬреАрдХрд░рдг рдЙрдкрдпреЛрдЧреА рд╣реИред

рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рдбреЙрдХ-рдХрдореНрдкреЛрдЬрд╝ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЪрд░ рд╕реЗрдЯ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
LDAP_ENABLED=true
- LDAP рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕рдХреНрд╖рдо рдХрд░реЗрдВредLDAP_HOST=172.21.0.1
- LDAP рд╕рд░реНрд╡рд░ рдХрд╛ рдкрддрд╛редLDAP_PORT=389
- рдкреЛрд░реНрдЯредLDAP_METHOD=plain
- рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рдмрд┐рдирд╛ рдПрдХреНрд╕реЗрд╕ рд╡рд┐рдзрд┐, рдХреНрдпреЛрдВрдХрд┐ рд╣реЛрд╕реНрдЯ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЕрдВрджрд░ LDAP рд╕рд░реНрд╡рд░ред StartTLS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИредLDAP_UID=uid
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ UID рдлрд╝реАрд▓реНрдбред OpenLDAP рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди uid
редLDAP_BIND_DN=cn=admin,dc=nas,dc=nas
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдбреЛрдореЗрди рдЬрд┐рд╕рдХреЗ рддрд╣рдд Gitlab LDAP рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдзрд┐рдХреГрдд рд╣реИредLDAP_PASS=<LDAP_PASSWORD>
- LDAP рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб, рдЬрд┐рд╕рдХреЗ рддрд╣рдд Gitlab LDAP рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдзрд┐рдХреГрдд рд╣реИредLDAP_BLOCK_AUTO_CREATED_USERS=false
- LDAP рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рд▓реЙрдЧрд┐рди рдХреЗ рдмрд╛рдж Gitlab рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рдЕрдЧрд░ true
рдпрд╣рд╛рдБ рд╕реЗрдЯ рд╣реИ, рддреЛ рдЗрд╕реЗ рдмреНрд▓реЙрдХ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЗрд╕реЗ рдЕрдирд▓реЙрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛редLDAP_BASE=ou=users,dc=nas,dc=nas
рд╡рд╣ рдЖрдзрд╛рд░ рдкрддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд╛рддреЗ рд╕реНрдерд┐рдд рд╣реИрдВредLDAP_USER_FILTER=memberOf=cn=users_code,ou=groups,dc=nas,dc=nas
- filterред рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдореИрдВ users_code
рд╕рдореВрд╣ рдХреЗ рдХреЗрд╡рд▓ рд╕рджрд╕реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВредLDAP_ALLOW_USERNAME_OR_EMAIL_LOGIN=true
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рди рдХреЗрд╡рд▓ UID рджреНрд╡рд╛рд░рд╛, рдмрд▓реНрдХрд┐ рдИ-рдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рднреА рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
LDAP_USER_FILTER
рдкреИрд░рд╛рдореАрдЯрд░ рдкрд░ рдзреНрдпрд╛рди LDAP_USER_FILTER
ред рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ , рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдореВрд╣реЛрдВ рдХреЛ LDAP рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛_рдХреЛрдб рд╕рдореВрд╣ рдХреЛ users_code
рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЧрд┐рдЯрд▓рдм рд╕реА.рдЖрдИ.
Gitlab рд▓реЗрдЦ рдФрд░ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ CI рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рджреЛрд╣рд░рд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЖрдкрдХреЛ рдмрд╕ рдЗрддрдирд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
- рдмрд┐рд▓реНрдб рдПрдЬреЗрдВрдЯ рдкреЗрдЬ рдкрд░ рдЬрд╛рдПрдБ : https://git.NAS.cloudns.cc/admin/runners рдФрд░ copy:
- рдПрдХ рдПрдЬреЗрдВрдЯ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░реЗрдВред рд╡рд╣ рдкрдВрдЬреАрдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдкрддрд╛ рдФрд░ рдЯреЛрдХрди рдорд╛рдВрдЧреЗрдЧрд╛ред
рдкрдВрдЬреАрдХрд░рдг рдирд┐рдореНрди рдЖрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
docker-compose exec gitlab-runner /entrypoint register
Gitlab рдореЗрдВ рдХреМрди рд╕реЗ рдПрдЬреЗрдВрдЯ рд╣реИрдВ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдореИрдВрдиреЗ рдбреЙрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреЛ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝реЗрдВ рдХрд┐ рдпрд╣ Gitlab рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИред
рд╕реНрдкреЙрдЗрд▓рд░ рдХреЗ рдиреАрдЪреЗ Gitlab рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рд╣реИ, рдЬреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рднреА рдЙрдкрд▓рдмреНрдз рд╣реИ ред
/tank0/docker/services/gitlab/docker-compose.yml # https://github.com/sameersbn/docker-gitlab version: '2' networks: gitlab: docker0: external: name: docker0 services: redis: restart: always image: sameersbn/redis:latest command: - --loglevel warning networks: - gitlab volumes: - /tank0/apps/gitlab/redis:/var/lib/redis:Z postgresql: restart: always image: sameersbn/postgresql:9.6-2 volumes: - /tank0/apps/gitlab/postgresql:/var/lib/postgresql:Z networks: - gitlab environment: - DB_USER=gitlab - DB_PASS=<DB_PASSWORD> - DB_NAME=gitlabhq_production - DB_EXTENSION=pg_trgm # plantuml: # restart: always # image: plantuml/plantuml-server # image: plantuml/plantuml-server:jetty # ports: # - "127.0.0.1:9542:8080" # ports: # - "plantuml:8080:8080" # expose: # - 8080 # networks: # - gitlab gitlab: restart: always image: sameersbn/gitlab:10.6.3 depends_on: - redis - postgresql ports: - "11022:22" expose: - 443 - 80 - 22 volumes: - /tank0/apps/repos:/home/git/data/repositories:Z - /tank0/apps/repos/system/backup:/home/git/data/backups:Z - /tank0/apps/repos/system/builds:/home/git/data/builds:Z - /tank0/apps/repos/system/lfs-objects:/home/git/data/shared/lfs-objects:Z - /tank0/apps/repos/system/public:/uploads/-/system:Z - /tank0/apps/gitlab/logs:/var/log/gitlab - /tank0/apps/gitlab/gitlab:/home/git/data:Z networks: - gitlab - docker0 environment: - "VIRTUAL_HOST=git.*,gitlab.*" - VIRTUAL_PORT=443 - VIRTUAL_PROTO=https - CERT_NAME=NAS.cloudns.cc - DEBUG=false # Default: 1 - NGINX_WORKERS=2 # Default: 3 - UNICORN_WORKERS=3 # Default: 25 - SIDEKIQ_CONCURRENCY=10 - DB_ADAPTER=postgresql - DB_HOST=postgresql - DB_PORT=5432 - DB_USER=gitlab - DB_PASS=<DB_PASS> - DB_NAME=gitlabhq_production - REDIS_HOST=redis - REDIS_PORT=6379 - TZ=Europe/Moscow - GITLAB_TIMEZONE=Moscow - GITLAB_HTTPS=true - SSL_SELF_SIGNED=true #- SSL_VERIFY_CLIENT=true - NGINX_HSTS_MAXAGE=2592000 - GITLAB_HOST=git.NAS.cloudns.cc #- GITLAB_PORT=11443 - GITLAB_SSH_PORT=11022 - GITLAB_RELATIVE_URL_ROOT= - GITLAB_SECRETS_DB_KEY_BASE=<DB_KEY_BASE> - GITLAB_SECRETS_SECRET_KEY_BASE=<SC_KEY_BASE> - GITLAB_SECRETS_OTP_KEY_BASE=<OTP_KEY_BASE> - GITLAB_SIGNUP_ENABLED=false # Defaults to 5iveL!fe. - GITLAB_ROOT_PASSWORD= - GITLAB_ROOT_EMAIL=root@gmail.com - GITLAB_NOTIFY_ON_BROKEN_BUILDS=true - GITLAB_NOTIFY_PUSHER=false - GITLAB_EMAIL=GITLAB@yandex.ru - GITLAB_EMAIL_REPLY_TO=noreply@yandex.ru - GITLAB_INCOMING_EMAIL_ADDRESS=GITLAB@yandex.ru - GITLAB_BACKUP_SCHEDULE=daily - GITLAB_BACKUP_TIME=01:00 - GITLAB_MATTERMOST_ENABLED=true - GITLAB_MATTERMOST_URL="" - SMTP_ENABLED=true - SMTP_DOMAIN=www.example.com - SMTP_HOST=smtp.yandex.ru - SMTP_PORT=25 - SMTP_USER=GITLAB@yandex.ru - SMTP_PASS=<SMTP_PASSWORD> - SMTP_STARTTLS=true - SMTP_AUTHENTICATION=login - IMAP_ENABLED=true - IMAP_HOST=imap.yandex.ru - IMAP_PORT=993 - IMAP_USER=GITLAB@yandex.ru - IMAP_PASS=<IMAP_PASSWORD> - IMAP_SSL=true - IMAP_STARTTLS=false - OAUTH_ENABLED=false - OAUTH_AUTO_SIGN_IN_WITH_PROVIDER= - OAUTH_ALLOW_SSO= - OAUTH_BLOCK_AUTO_CREATED_USERS=true - OAUTH_AUTO_LINK_LDAP_USER=false - OAUTH_AUTO_LINK_SAML_USER=false - OAUTH_EXTERNAL_PROVIDERS= - OAUTH_CAS3_LABEL=cas3 - OAUTH_CAS3_SERVER= - OAUTH_CAS3_DISABLE_SSL_VERIFICATION=false - OAUTH_CAS3_LOGIN_URL=/cas/login - OAUTH_CAS3_VALIDATE_URL=/cas/p3/serviceValidate - OAUTH_CAS3_LOGOUT_URL=/cas/logout - OAUTH_GOOGLE_API_KEY= - OAUTH_GOOGLE_APP_SECRET= - OAUTH_GOOGLE_RESTRICT_DOMAIN= - OAUTH_FACEBOOK_API_KEY= - OAUTH_FACEBOOK_APP_SECRET= - OAUTH_TWITTER_API_KEY= - OAUTH_TWITTER_APP_SECRET= - OAUTH_GITHUB_API_KEY= - OAUTH_GITHUB_APP_SECRET= - OAUTH_GITHUB_URL= - OAUTH_GITHUB_VERIFY_SSL= - OAUTH_GITLAB_API_KEY= - OAUTH_GITLAB_APP_SECRET= - OAUTH_BITBUCKET_API_KEY= - OAUTH_BITBUCKET_APP_SECRET= - OAUTH_SAML_ASSERTION_CONSUMER_SERVICE_URL= - OAUTH_SAML_IDP_CERT_FINGERPRINT= - OAUTH_SAML_IDP_SSO_TARGET_URL= - OAUTH_SAML_ISSUER= - OAUTH_SAML_LABEL="Our SAML Provider" - OAUTH_SAML_NAME_IDENTIFIER_FORMAT=urn:oasis:names:tc:SAML:2.0:nameid-format:transient - OAUTH_SAML_GROUPS_ATTRIBUTE= - OAUTH_SAML_EXTERNAL_GROUPS= - OAUTH_SAML_ATTRIBUTE_STATEMENTS_EMAIL= - OAUTH_SAML_ATTRIBUTE_STATEMENTS_NAME= - OAUTH_SAML_ATTRIBUTE_STATEMENTS_FIRST_NAME= - OAUTH_SAML_ATTRIBUTE_STATEMENTS_LAST_NAME= - OAUTH_CROWD_SERVER_URL= - OAUTH_CROWD_APP_NAME= - OAUTH_CROWD_APP_PASSWORD= - OAUTH_AUTH0_CLIENT_ID= - OAUTH_AUTH0_CLIENT_SECRET= - OAUTH_AUTH0_DOMAIN= - OAUTH_AZURE_API_KEY= - OAUTH_AZURE_API_SECRET= - OAUTH_AZURE_TENANT_ID= - LDAP_ENABLED=true #- LDAP_LABEL=nas - LDAP_HOST=172.21.0.1 - LDAP_PORT=389 #- LDAP_METHOD=start_tls - LDAP_METHOD=plain - LDAP_UID=uid - LDAP_BIND_DN=cn=admin,dc=nas,dc=nas - LDAP_PASS=<LDAP_PASSWORD> #- LDAP_CA_FILE= # Default: false. #- LDAP_BLOCK_AUTO_CREATED_USERS=true - LDAP_BASE=ou=users,dc=nas,dc=nas - LDAP_ACTIVE_DIRECTORY=false #- LDAP_USER_FILTER=(givenName=) - LDAP_USER_FILTER=memberOf=cn=users_code,ou=groups,dc=nas,dc=nas - LDAP_ALLOW_USERNAME_OR_EMAIL_LOGIN=true gitlab-runner: container_name: gitlab-runner image: gitlab/gitlab-runner:latest networks: - gitlab volumes: - /tank0/apps/gitlab/gitlab-runner/data:/home/gitlab_ci_multi_runner/data - /tank0/apps/gitlab/gitlab-runner/config:/etc/gitlab-runner environment: - CI_SERVER_URL=https://gitlab.NAS.cloudns.cc restart: always # registry: # container_name: docker-registry # restart: always # image: registry:2.4.1 # volumes: # - /srv/gitlab/shared/registry:/registry # - /srv/certs:/certs # environment: # - REGISTRY_LOG_LEVEL=info # - REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/registry # - REGISTRY_AUTH_TOKEN_REALM=http://git.labs.lc:10080/jwt/auth # - REGISTRY_AUTH_TOKEN_SERVICE=container_registry # - REGISTRY_AUTH_TOKEN_ISSUER=gitlab-issuer # - REGISTRY_AUTH_TOKEN_ROOTCERTBUNDLE=/certs/registry-auth.crt # - REGISTRY_STORAGE_DELETE_ENABLED=true # - REGISTRY_HTTP_TLS_CERTIFICATE=/certs/registry.crt # - REGISTRY_HTTP_TLS_KEY=/certs/registry.key # ports: # - "0.0.0.0:5000:5000" # networks: # mynet: # aliases: # - registry.git.labs.lc #