gitlab api access 토큰 발행 (cli 환경)

작성자 박형춘 수정일 2024-01-15 09:40

들어가며

  • 스파클링소다 4.0 설치시 setup/11.gitlab 과정에서 gitlab을 설치하고 브라우저에 접속하여 access 토큰을 발행합니다.
  • 때문에 설치시 브라우저 환경이 반드시 제공되어야 하는 옵션이 필요했습니다.
  • 이번 아티클은 브라우저 접속하지 않고 access 토큰을 발행하는 방법을 알아봅니다.



내용

  • gitlab을 설치후 진행합니다.


  • gitlab-server 파드 내부로 접속합니다.
    kubectl exec -it `kubectl get po |grep -i gitlab-server |awk '{print $1}'` bash


  • 파드 접속후 workdir 경로의 bin/ 디렉토리 하위로 이동합니다.


  • rails 콘솔을 활성화 합니다.
    sudo -u git -H bundle exec rails console -e production

    출력은 아래와 같습니다.


  • access 토큰을 발행합니다.
    irb(main):002:0> demo = User.find_by_username("root")
    irb(main):003:0> demo.email
    => "admin@agilesoda.com"
    irb(main):004:0> 
    irb(main):005:0> token = demo.personal_access_tokens.create(scopes: ['api', 'read_api', 'write_repository', 'sudo', 'read_user', 'read_repository'], name: 'ned-token', expires_at: 365.days.from_now)
    irb(main):006:0> token.set_token('ned-token-123')
    => nil
    irb(main):007:0> token.save!
    => true
    irb(main):008:0> puts token
    #<PersonalAccessToken:0x00005594ae0594c8>
    => nil
    위 내용중 사용자가 지정한 set_token('ned-token-123')의 'ned-token-123'값이 sodaflow-app에서 사용될 토큰이므로 기록해둡니다.


    token = demo.personal_access_tokens.create 함수에서 토큰을 생성합니다. 각 필드는 브라우저 상에서 선택하는 api 기능을 작성하며, name 값은(설치 매뉴얼에서는 sodaflow-token으로 지정) 토큰의 이름이 됩니다.


  • 오류없이 정상 수행되었다면 토큰 발급이 완료되었으므로 설치를 이어서 진행하면 됩니다.
    * gitlab 브라우저 접근하여 발행된 토큰 확인이 가능합니다.



마치며

아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요
CAPTCHA 확인이 필요합니다.

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.

02-558-8300