'relaese'에 해당되는 글 1건

  1. 2016.06.23 [CloudFoundry] bosh apache2 release

bosh sample release를 개발하기 위해 사전 테스트 작업으로 apache를 bosh를 통해 배포하여 보자

 


1. Release 생성

# bosh init release test-release


root@jenkins:~/workspace/test-release# tree

├── blobs

├── config

   └── blobs.yml

├── jobs

├── packages

└── src



2. Package 생성 : 배포에 필요한 binary file과 job에서 사용할 src 및 dependency file 제공


# bosh generate package apache2


root@jenkins:~/workspace/bosh_install_test/packages# tree

└── apache2

    ├── packaging

    ├── pre_packaging

    └── spec


또.. 여러개 파일이 default로 생성된다...

1) spec 파일 수정

   - name : package name

   - dependencies : Package's dependencies

   - files :The location where BOSH can find the binaries and other files that the package needs at compile time


---

name: apache2


dependencies:


files:

  - apache2/httpd-2.2.25.tar.gz


 2) src 디렉토리에시 필요한 파일 download

# mkdir src/apache2

# cd src/apache2

# wget 'http://apache.tradebit.com/pub/httpd/httpd-2.2.25.tar.gz'


 3) packaging (compilation script) 작성

echo "Extracting apache https..."

tar xzf apache2/httpd-2.2.25.tar.gz


echo "Building apache https..."

(

   cd httpd-2.2.25

    ./configure \

    --prefix=${BOSH_INSTALL_TARGET} \

    --enable-so

    make

    make install

}

EOF 


release의 package 설정을 대강 마무리 됬고 pre_packaging의 용도는 모르겠다.

아래로 대망의 job 생성


3. job 생성

# bosh generate job apache2



create jobs/apache2

create jobs/apache2/templates

create jobs/apache2/spec

create jobs/apache2/monit


또 이것저것 만들고...


1) spec : spec 파일은 job metadata 정의한 파일로 bosh 통해 deploy 해석되어 사용된다

         name, description, templates, package, properties 구성 되어 있음

         spec 파일의 자세한 schema https://bosh.io/docs/jobs.html 참조


  • Compile 단계에 BOSH는 template들을 file 변환하여 JOB VM 복사함
  • Key/value 형식으로 선언되며, key template 폴더의 파일 name, value JOB VM 복사되는 PATH 파일 이름

    /var/vcap/jobs/<job_name>/bin/ctl on the job VM


---

name: apache2

 

description: This job runs a simple HTTP server.

 

templates:

  httpd.conf.erb: config/httpd.conf

 

packages:

  - apache2

 

properties:

  name:

     description: name set test

  age:

     description: age deafult set test

     default: 99



너무 길어지니.. 우선 여기까지~





 

'CloudFoundry' 카테고리의 다른 글

[bosh] job lifecycle  (0) 2016.06.02
[bosh] release, job  (0) 2016.06.02
bosh-lite 이용한 CloudFoundry deploy  (0) 2016.04.20
[CloudFoundry] cf push process(application 배포)  (0) 2016.04.20
CloudFoundry user-provide-service setting  (0) 2016.04.20
Posted by 뭉탁거림
,