오늘도 한 뼘 더

[TIL] wkhtmltopdf 패키지 Buildfile 이용하여 설치하기 본문

DevOps & Infra/TIL(Today I Learned)

[TIL] wkhtmltopdf 패키지 Buildfile 이용하여 설치하기

나른한댕댕이🐶 2023. 1. 19. 15:01
728x90
반응형

  # 배경  

wkhtmltopdf 패키지를 ElasticBeanstalk으로 배포되는 서비스에서 사용을 해야 해서 해당 서비스에 패키지가 설치되어야 하는 업무가 주어졌다.

 

  ## Buildfile  

Buildfile에서는 build.sh에 작성된 쉘스크립트를 실행시킨다.

build.sh를 코드 상에서 만들어서 git을 통해 올리면 build.sh가 실행 상태가 되지 않아 chmod 명령어로 실행 가능한 파일로 만들어주는 게 필요하다.

make: chmod u+r+x ./build.sh
make: ./build.sh

 

  ## build.sh  

ElastiBeanstalk을 배포할 때 이미 wkhtmltopdf가 설치되어 있을 경우 설치가 안되고 Fail이 떠서 그전에 삭제하는 작업을 먼저 진행해 주었다. 

삭제하다가 오류가 나는 부분은 무시하고 지나갈 수 있도록 set +e 설정

#!/usr/bin/bash

echo start

set +e
sudo yum -y remove wkhtmltox.x86_64

set -e
sudo yum -y install wget

wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox-0.12.6-1.amazonlinux2.x86_64.rpm

sudo yum -y install ./wkhtmltox-0.12.6-1.amazonlinux2.x86_64.rpm

#build command
go build -o bin/application application.go

 

이후 서버에 접근하여 버전 확인을 통해 잘 설치되었는지 확인

wkhtmltopdf --version

 

  ## Buildfile을 만들고 알게 된 것  

Buildfile을 배포가 진행될 때에만 실행이 된다. 

그래서 AutoScaling을 통해서 EC2 서버가 하나 더 올라오거나 서버가 종료되어 다른 EC2가 시작될 때는 동작하지 않는다. 그렇기 때문에 서버가 새로 올라오면 wkhtmltopdf 패키지는 사용할 수가 없다.

728x90
반응형
Comments