ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 오픈소스로 구성하는 데브옵스 시스템 - AWX 개발 빌드 구성
    DevOps 2018. 11. 19. 22:19

    앞에서 AWX의 소스코드를 받아 한글화 파일을 추가하는 작업을 진행해 보았습니다.

    하지만 소스코드만 빌드해서는 변경된 내용을 확인할 수 없습니다.

    개발모드로 docker 컨테이너를 빌드하고 실행까지 진행해 보겠습니다.


    우선 docker-compose를 설치하도록 합니다.

    pip install docker-compose


    또한 Node 8.X LTS와 NPM 6.x LTS 을 설치합니다.


    Node.js의 경우 아래 다운로드 사이트에서 환경에 맞는 설치 파일을 다운로드 받습니다.

    https://nodejs.org/dist/v8.9.4/


    NPM의 경우 기존에 설치한 버전이 있어서 업그레이드를 진행 하였습니다.

    sudo npm install -g npm


    여기까지 빌드 환경이 준비되면, local settings 파일을 생성합니다.

    참고로 앞에서와 동일하게 해당 명령은 최상위 awx 디렉터리에서 실행합니다.

    cp awx/settings/local_settings.py.docker_compose awx/settings/local_settings.py


    그리고 동일한 경로에서 docker image 빌드를 진행합니다.

    make docker-compose-build


    또한 UI에 대한 빌드도 진행합니다.

    make ui-devel


    빌드가 완료되면 아래 명렁어로 docker 컨테이너를 실행합니다.

    make docker-compose


    docker ps 명령어로 컨테이너가 정상적으로 실행 되었는지 확인합니다.

    컨테이너가 정상적으로 실행 되었다면, bash를 실행하여 컨테이너 내부에 있는 awx-manager 명령으로 superuser를 생성합니다.

    docker exec -it tools_awx_1_850908d1fffa bash


    (container)# awx-manage createsuperuser


    또한 데모 데이터도 생성을 합니다.

    (container)# awx-manage create_preload_data


    마지막으로 swagger api를 빌드하도록 합니다.

    이 때 awx_devel로 디렉터리 이동을 해주셔야 합니다.

    (container)# cd awx_devel

    (container)/awx_devel$ make swagger


    혹시 swagger api가 궁금하시다면 아래 링크를 참고해 주세요.

    https://jojoldu.tistory.com/31


    여기까지 모두 완료 되었다면, 아래 링크로 서비스 접속이 가능 합니다.

    https://localhost:8043


    그리고 우리가 앞서 적용한 한글 메시지를 확인할 수 있습니다.


    로고가 평소 보던 AWX 이미지가 아니군요...;;;;


    로그인은 앞서 생성한 계정으로 진행하시면 됩니다.


    또한 개발 컨테이너와 이미지의 빌드에 대한 삭제는 아래 명령어로 진행하시면 됩니다.

    make docker-clean


    일단 간략하게 빌드 환경을 셋팅하고 개발용 docker 이미지를 생성해 보았습니다.


    좀 더 자세한 내용은 아래 AWX github를 참고하시면 도움이 되실 듯 합니다.

    https://github.com/ansible/awx/blob/devel/CONTRIBUTING.md

Designed by Tistory.