개요
- Ansible 개발 환경에서 playbook을 생성하고 이를 github 리포지토리에 업로드하여 버전 관리를 한다.
- AWX는 github 리포지토리로부터 필요한 playbook 파일을 읽어와서 각 지정된 서버들에 playbook의 내용대로 적용시킬 수 있다.
- github는 보안성 문제로 인해 2021년 후반부터 git을 이용한 패스워드 인증을 지원하지 않는다.
- github PAT로는 AWX - gihhub 간 사용할 수 없다 (AWX에서 지원 안함)
- 여기서는 github와의 연동을 위해 SSH 인증을 적용하는 방법을 소개한다.
SSH 인증 설정
ssh key 파일 생성
- 사용하는 리눅스 환경 (AWX 환경이 아니어도 상관없음) 에서 아래와 같이 SSH 키 파일들을 생성한다.
ssh-keygen # 명령어 이후 계속 엔터 # ~/.ssh 아래에 id_rsa와 id_rsa.pub 파일이 생성된다.
github에 ssh 공개키 등록
- github 계정 설정 - Access - SSH and GPG keys - SSH keys - New SSH key
- Key에는 id_rsa.pub 파일의 내용을 삽입
AWX Credentials 생성
- RESOURCES - Credentials - 오른쪽 상단의 ‘+’ 클릭
- CREDENTIAL TYPE을 Source Control 로 선택
- SCM PRIVATE KEY 에 id_rsa 파일의 내용을 삽입
- save 클릭
AWX Projects 생성
- RESOURCES - Projects - 오른쪽 상단의 ‘+’ 클릭
- SCM TYPE을 Git 으로 선택
- SCM URL은 Github 리포지토리의 SSH Clone 주소를 복붙
- SCM BRANCH/TAG/COMMIT은 Github 리포지토리의 기본 브랜치를 입력
- SCM CREDENTIAL은 방금 만든 Credential을 선택
프로젝트를 생성하면 github 리포지토리와 연동을 확인하게 된다 (녹색 원이 나타나면 연동 성공)
참고자료
Ansible Tower/AWX Project and Github Connection Setup(Youtube)