AWS로 Buildpack 만드는 방법

4118 단어 PHPAWSbuildpack

작성된 AWS 인스턴스


Amazon Linux AMI 2018.03.0 (HVM), SSD Volume Type - ami-40142d25
Type t2.micro
볼륨: 8GB

먼저 설치를 위해 Go를 설치합니다.


참고사이트 축소판 그림로 설치했습니다.

설치하다.

sudo yum install golang

GOPATH 설정

.bashrc에서 다음과 같은 내용을 보충한다.
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
source .bashrc를 실행하고 환경 변수를 반영한 후 echo $GOPATH를 확인하십시오.

결실

[ec2-user@ip-XXX-XXX-XXX-XXX ~]$ echo $GOPATH
/home/ec2-user/go
이 정도면 됐어.

그리고build-packager를 설치합니다.


이 사이트READOME에 따라 아래 명령을 집행한다.
go get github.com/cloudfoundry/libbuildpack
그럼 수첩은 아래와 같습니다
cd ~/go/src/github.com/cloudfoundry/libbuildpack/packager/buildpack-packager && go install
AWS에서 이렇게 하면
main.go:15:2: cannot find package "github.com/google/subcommands" in any of:
이런 메시지가 나왔습니다.
그러니 이 포장도 넣으세요.
명령
go get github.com/google/subcommands
네.
다시
cd ~/go/src/github.com/cloudfoundry/libbuildpack/packager/buildpack-packager && go install
정상적으로 설치할 수 있습니다.
[ec2-user@ip-XXX-XXX-XXX-XXX ~]$ buildpack-packager
Usage: buildpack-packager <flags> <subcommand> <subcommand args>

Subcommands:
        commands         list all command names
        flags            describe all known top-level flags
        help             describe subcommands and their syntax

Subcommands for Custom:
        build            Create a buildpack zipfile from the current directory
        init             Creates a folder with the basic structure of a new buildpack
        summary          Print out list of dependencies of this buildpack
        upgrade          Upgrades a buildpack scaffolded by buildpack-packager init


Use "buildpack-packager flags" for a list of top-level flags
확인하세요.

포장을 구축해 보세요.


나는 PHPer이기 때문에 포크php-buildpack로 맞춤 제작한다.
먼저
git clone https://github.com/motuo1201/php-buildpack
중포크의 창고 클론입니다.
그리고 나서
cd php-buildpack/
buildpack-packager build -cached -any-stack
이렇게 하면 다음과 같은 결과를 얻을 수 있다.
[ec2-user@ip-XXX-XXX-XXX-XXX php-buildpack]$ buildpack-packager build -cached -any-stack
cached buildpack created and saved as /home/ec2-user/php-buildpack/php_buildpack-cached-v4.3.59.zip with a size of 979MB
[ec2-user@ip-XXX-XXX-XXX-XXX php-buildpack]$ ls
4.3.52.20180419122106tmp  fixtures                            README.md
bin                       ISSUE_TEMPLATE                      requirements.txt
cf.Gemfile                itf.Dockerfile.5409018274803835473  run_tests.sh
cf.Gemfile.lock           lib                                 scripts
CHANGELOG                 LICENSE                             src
compile-extensions        manifest.yml                        tests
CONTRIBUTING.md           NOTICE                              vendor
defaults                  php_buildpack-cached-v4.3.59.zip    VERSION
extensions                PULL_REQUEST_TEMPLATE
여기에 php_buildpack-cached-v4.3.59.zip라는 서류가 하나 있다.
이것은 실제로 사용할 수 있다buildpack.

참고로 Buildpack을 만든 경과

php-buildpack 디버깅Laravel을 사용할 때 .env이 없어서 발생하는 경우가 많다.
Giithub의 창고는 제출하지 않는다는 원칙.env이 있기 때문이다.(보안의 관점에서 볼 때 당연합니다.)
다만, pipeline를 사용하거나 Giithub에서 직접 depro를 진행할 때 곤란합니다!즉
.env.exampleが存在するかつ、.envファイルがない場合は、.env.exampleを.envにリネームする
추가 처리를 결정하다.
아니오, composier예요.json의post-istall-cmd에 쓰세요!
이런 토크를 들었지만 이번엔 공부를 위해...

그리고 AWS에서 build pack을 하고 눈치를 챘어요.


IBM Cloud은 Git의 창고에서 Buildpack을 만들어 적용하지 않습니까?이런 거.

좋은 웹페이지 즐겨찾기