| 패키지 설치

 

brew install akamai
 

특정 버전 설치의 경우: brew install akamai@{version}

e.g. brew install akamai@1.2.1

 

패키지 설치 후 커맨드도 별도로 설치가 필요하다

Usage:
  akamai [global flags] command [command flags] [arguments...]
 
Commands:
  config
  install (alias: get)
  list
  search
  uninstall
  update
  upgrade
  help
 
Global Flags:
  --edgerc value, -e value                 Location of the credentials file [$AKAMAI_EDGERC]
  --section value, -s value                Section of the credentials file [$AKAMAI_EDGERC_SECTION]
  --accountkey value, --account-key value  Account switch key [$AKAMAI_EDGERC_ACCOUNT_KEY]
  --help                                   show help (default: false)
  --bash                                   Output bash auto-complete (default: false)
  --zsh                                    Output zsh auto-complete (default: false)
  --proxy value                            Set a proxy to use
  --version                                Output CLI version (default: false)
 
Copyright (C) Akamai Technologies, Inc
 

| 커맨드 설치

akamai install purge
 

| Authentication credentials 만들기

| 자격 증명 설정

cli를 실행하기 위해선 위에서 만든 인증 자격증명 파일을 이용해 인증을 하게 된다.

(이때 커스텀 HTTP 요청 서명 프로토콜인 EdgeGrid를 이용)

 

인증 자격증명 파일은 클라이언트 토큰/시크릿 , 호스트, 액세스 토큰 등의 내용이 기입된다.

 

[ccu]
client_secret = {client_secret}
host = {host}
access_token = {access_token}
client_token = {client_token}
 

위 내용이 작성된 파일을 /Users/{username}/.edgerc 경로에 저장

 

| 젠킨스 설정

 

  1. 젠킨스 > 잡 > 설정
  2. 파라미터 추가 > 문자열 파라미터 CACHE_URL 추가
  3. 빌드 스탭 > Exectue Shell 추가
  4. akamai purge delete $CACHE_URL 기입

 

반응형

| 개요

 

젠킨스에선 프로젝트를 주기적으로 실행할 수 있는 기능을 제공한다.
(리눅스 크론의 그것과 유사)

크론문법과 호환이 되며 간단하게 스케쥴링을 할 수 있고,
Parameterized Scheduler 플러그인을 사용하여 빌드에 인자를 주는 것 또한 가능하다.

하지만, 변경점이 없는 경우에도 지정된 스케쥴에 따라 반복 빌드 되기 때문에
‘지속적인 통합’이라는 관점에서 적합하지 않다.

(젠킨스에서도 SCM(SVN, GIT등)에서 변경점을 폴링하여 빌드가 되도록 구축할 것을 권장한다.)

그럼에도 데일리 빌드와 같은 간단한 작업을 예약하는데 유용하기 때문에
이 기능을 사용할 것이며, 이에 사용법에 대해 설명하려고 한다.

 

| 설정방법

1. 프로젝트 구성

  • 프로젝트 > 설정
  • [Build Triggers]에서 Build periodically with parameters 선택
  • Schedule란에 주기 설정

 

2. 주기 설정 방법

각각 5개(분, 시간, 일, 월, 요일)의 주기를 지정하고
사이사이 공백이나 탭을 두어 구분하여 구성하면 된다.

 

예) 45 9 * * 1-5

 

  • 분 시간 일 월 요일 순서
  • 분 (0-59), 시간 (0-23), 일 (1-31), 월 (1-12), 요일 (0-7)
  • 와일드 카드는 * 로 지정
  • N-N2: N과 N2사이의 범위를 지정
  • N-N2/X 혹은 */X: X의 간격을 지정 (X마다)
  • N,N1,N2…NM: 여러개의 값을 지정
  • 월요일: 1 ~ 토요일: 6, 0 또는 7: 일요일
주기를 설정할 경우 'H' 심볼 사용을 권장하는데, 이는 빌드가 고루 분산되어 실행되는 효과를 얻을 수 있다.
즉 젠킨스가 리소스나 부하의 정도에 따라 시간을 결정한다.

 

| 예제

1. 간격 시간 지정

# 매 30분 마다 실행
H/30 * * * *

# 매일 오전 9시, 오후 7시 실행
* 9,12 * * *

2. 특정 시간 지정

# 금요일 오후 7시 마다 실행(주중 결산)
H 19 * * 5

# 주중(월-금) 오전 8시 마다 실행
H 8 * * 1-5

3. 파라미터 지정

# 월-금, 오전 10시부터 오후 6시 중 매 2시간 마다 실행
H 10-18/2 * * 1-5 %PARAM_NAME1=PARAM1;PARAM_NAME2=PARAM2

# 예시
H 10-18/2 * * 1-5 %APP_VERSION=1.5.7;ASSET_BUNDLE_BUILD=true

4. 기타 예제

# 매 15분 마다
H/15 * * * *

# 매 시간 0 ~ 30분 사이의 10분 마다
H(0-29)/10 * * * *

# 매주 평일 오전 9시 45분 ~ 오후 3시 45분 사이의 매 2시간 마다
45 9-16/2 * * 1-5

# 매주 평일 오전 8시 ~ 오후 4시 사이 2시간 마다 1번
H H(8-15)/2 * * 1-5

# 12월을 제외한 매달 1일과 15일마다 1번
H H 1,15 1-11 *

 

반응형

+ Recent posts