Setup Development Environments

BXM Cloud Platform은 프레임워크도구, Buildpack과 함께 어플리케이션 자원을 내부 사용자들과 공유하고 시스템을 안정적으로 통합할 수 있는 지원도구들을 함께 제공합니다. 다음은 어플리케이션 개발을 시작하기 위해 필요한 기본 설정 절차를 설명합니다.

Buildpacks

사용자 어플리케이션이 k8s cluster에 배포되기 위해서는 운영시스템, 미들웨어, 참조 라이브러리 등 의존성을 포함하여 컨테이너 이미지로 빌드하는 과정이 필요합니다. BXM Cloud에서는 이런 과정을 Bxm-server: bxm-controller-manager가 담당하고 있으며 개발자가 업무 개발에 집중할 수 있도록 프레임워크를 제공하고 있습니다. 또한 컨테이너 이미지를 빌드하기 위한 buildpack들을 제공합니다. 다음 절차는 Bxm-server: blobstore에 buildpack을 배포하는 과정입니다.

kubectl blobstore put bxm400-buildpack-<version>.tgz
kubectl blobstore put bxframework-buildpack-<version>.tgz
kubectl blobstore put /usr/local/bin/kubectl
kubectl blobstore put /usr/local/bin/kubectl-apps
kubectl blobstore put /usr/local/bin/kubectl-blobstore

bxm blobstore의 내용은 kubectl blobstore info 결과로 출력된 admin url에 접속하여 확인 가능합니다. 이때 사용되는 계정 아이디는 blobstore-user이며 암호는 workspace directory( installer 실행으로 생성된 domain directory)에서 다음 명령을 실행하여 확인할 수 있습니다.

export director_name=$(bosh int <(bbl outputs) --path=/director_name)
bosh int <(credhub get -n \
"${director_name}/production/blobstore_admin_users_password" --output-json) \
--path=/value

postsetup-blobstore

Gitlab Configuration

BXM Cloud Platform에서는 개발 자원을 외부에 공개하지 않고 적절한 절차에 따라 배포 이관 작업이 진행될 수 있도록 Artifactory, Docker Image Registry, Gitlab Instance를 Platform 내부에 설치 운영합니다. 다음은 Gitlab Server의 기본 설정 과정을 설명합니다.

  1. Access Gitlab

    설치 과정이 완료되고 AWS Route53/ DNS Records가 정상적으로 설정되어 있다면 https://gitlab.<domain> url을 통해 Gitlab 서비스에 접근 가능합니다. 시스템이 외부 DSN Service를 사용하거나 AWS Loadbalancer를 통합 직접 접근을 시도하는 경우 domain directory에서 다음 명령을 실행하여 추출된 주소를 이용하여서도 접근 가능합니다.

    bosh int <(bbl outputs) --path /bxm_server_hostname

    기본 설정된 관리자 계정 아이디와 암호는 root/password입니다. 초기 접속 후 관리자 계정 암호를 변경하는 것을 권장합니다. gitlab-initial-login

  2. Configure Gitlab

    Gitlab Docs 공식 문서를 참고하여 사용자, 그룹, 프로젝트 등을 추가할 수 있습니다. 다음은 사용자를 추가하는 기본 과정을 보여줍니다.

->

->

->

->

->

Artifactory Configuration

다음은 사용자 어플리케이션 개발 과정에서 의존성 자원을 공유하기 위한 Artifactory Service의 기본 설정 과정을 설명합니다. 보다 자세한 사항은 Using Artifactory 문서를 참고할 수 있습니다.

  1. Access Artifactory

    설치 과정이 완료되고 AWS Route53/ DNS Records가 정상적으로 설정되어 있다면 http://registry.<domain>:8081 url을 통해 Artifactory 서비스에 접근 가능합니다. 시스템이 외부 DSN Service를 사용하거나 AWS Loadbalancer를 통합 직접 접근을 시도하는 경우 domain directory에서 다음 명령을 실행하여 추출된 주소를 이용하여서도 접근 가능합니다.

    bosh int <(bbl outputs) --path /bxm_server_hostname

    기본 설정된 관리자 계정 아이디와 암호는 admin/password입니다. 초기 접속 후 관리자 계정 암호를 변경하는 것을 권장합니다.

  2. Initial Setup

    • 안내에 따라 초기 구성을 진행합니다. 저장소 생성(Create Repositories)이전 과정은 생략할 수 있습니다. artifactory-initial-setup-1
    • 저장소 유형 Maven을 선택하여 저장소 생성 작업을 진행합니다. artifactory-initial-setup-2
    • Admin/Groups 메뉴를 선택하여 다음처럼 Gruop 생성 작업을 시작합니다. Automatically Join New Users to this Group 선택항목을 체크하여 일반 개발 사용자가 해당 그룹에 자동으로 추가되도록 합니다. artifactory-initial-setup-3
    • Admin/Permissions 메뉴를 선택하여 Permission 생성 작업을 시작합니다. Add Repositories 탭에서 Any Local Repository, Any Remote Repository, Any Distribution Repository 항목을 체크합니다. artifactory-initial-setup-4
    • Add Builds 탭에서 Any Build 항목을 체크합니다. artifactory-initial-setup-5
    • Groups 탭에서 이전에 생성한 deployer Group을 추가한 후 Manage Action을 제외한 다른 Action 항목들에 대한 권한을 추가합니다. artifactory-initial-setup-6
    • Admin/Users 메뉴를 선택하여 일반 사용자 정보를 추가합니다.
      ->
    • Admin/Repositories/Local -> libs-release-local 저장소의 Handles Snapshots 항목을 활성화합니다.
      ->
    • Artifacts/libs-release-local 저장소에 프레임워크 의존 리소스를 배포합니다. (파일경로는 별도 안내) ->