젠킨스 쿠버네티스 플러그인에서 파이프라인 빌드 할 때 git branch를 jenkins에서 파라메터로 넘길 방법을 고민하던중 Jenkinsfile을 git에서 가지고 오다보니 아래와 같이 해주면 git에서 최신버젼으로 클론이 잘 되었습니다. stage('Clone repository') { checkout scm } 그러나 위 방법을 이용하면 branch name parameter를 넘기는게 안되어서 브랜치를 바꿔서 배포하려면 빌드 할 때 바꿔 주어야 했습니다. 그래서 BRANCH라는 parameter를 넘기려면 git정보를 빌드할 때 만들어 주어야겠다고 생각했고 방법을 찾았습니다. def label = "aipcommon-${UUID.randomUUID().toString()}" def nexusHo..
개요 프로그래밍을 입문한지 3개월 정도 된 수박수박 문제를 풀고 있는 아내에게 이 글을 바칩니다. 개발자 분들은 읽지 않으시는 것을 추천드립니다. 화가 나실 수 있습니다. 운전 가르쳐 보셨죠? 문제 1을 입력하면 수 2를 입력하면 수박 3을 입력하면 수박수 ... 10을 입력하면 수박수박수박수박수박 위와 같이 출력 되는 solution(n) 함수를 작성 하세요 해설 홀수와 짝수 0 또는 1 True와 False 등 2가지 경우의 수를 처리하는 방법을 떠올릴 수 있는지에 대해 묻는 문제 입니다. 풀이 def solution(n): if n == 1: print('수') elif n == 2: print('수박') solution(1) # 수 solution(2) # 수박 결과 수 수박 먼저 if문을 이용해..
제가 싱가폴에 도착한 날은 2020년 1월 20일 입니다. 그리고 바로 코로나가 터졌지요. 지금은 2021년 2월 13일 설 연휴 기간 입니다. '제 개발자 싱가폴로 이직하기' 시리즈는 이 글이 마지막이 되겠지 싶습니다. 제가 한국에 다시 돌아온 것은 2020년 5월 20일 입니다. 싱가폴에서 집까지 구해서 살다가 코로나 때문에 싱가폴의 마트를 제외한 모든것들이 셧다운 되어서 할 수 있는 것이 없었습니다. 7월까지 6개월간 등록 했던 어학원도 2달만 오프라인 수업을 듣고 2달은 잘 되지도 않는 인터넷 강의로 들어야 했고 할 수 있는게 없어서 다시 한국으로 돌아온 것이 5월 20일 입니다. 학원비도 환불이 안된다고 했습니다. 한국에 오자마자 2주 격리를 했고 2주격리 후에는 알고 지내던 선배님의 소개로 6..
Python을 하다보면 디렉토리까지 구분하면서 파일을 만들어야 할 때가 있습니다. 예를들면 경매 낙찰 가격 데이터를 매일 수집해서 저장 할 때 날짜별로 디렉토리를 만들고 각 품목 ID별로도 디렉토리를 만드는 경우가 그렇겠습니다. 날짜는 매일 바뀌기 때문에 디렉토리도 매일 만들어 주어야 합니다. 그래서 디렉토리를 만드는 기능을 만들어 놓아야 매일 수동으로 하지 않아도 되겠지요? 하위디렉토리까지 생성하기 os.makedirs() os.makedirs()를 이용하면 하위 디렉토리까지 한번에 만들 수 있습니다. import os path = '/etc/level1/level2/hello.txt' os.makedirs(path) 결과 경로, 파일명 분리하기 os.path.split() 위 코드에서는 원래 hell..
개요 Flask로 페이지를 만들 때 parameter를 1개 또는 여러개를 넘겨서 호출할 일이 있어서 이 포스트를 정리 해봅니다. 1개 넘기기 {{"ns-abc-def"}} 위 url_for()함수를 쓰게 되면 아래와 같은 get요청을 만들어 줍니다. http://localhost:8082/home?namespace=20210517 2개 넘기기 {{"click"}} 1개 넘기는 것이랑 2개 이상 넘길 때 쓰는 방식은 ,로 구분해서 넘겨주면 됩니다. 1개 받기 @app.route('/home') def home(): ns = request.args.get('namespace', default = 'ns-abc-aaa', type = str) print(ns) return render_template('ho..
print(os.getenv('my_name')) 위 코드를 바로 실행 하면 None이 출력 됩니다. 소스코드에 Environment variable을 참조한 코드가 있는 경우 이 값을 넣어주어야 할때가 있습니다. 그럴 때 아래와 같이 합니다. os.environ['my_name'] = 'kyeongrok' 그리고 다시 값을 불러 와보면 print(os.getenv('my_name')) Kyeongrok 이라고 출력이 됩니다. argparse이용해 env variable받기 color라는 key로 색을 받고 싶은 경우 아래와 같이 쓸 수 있습니다. arg_test.py import argparse parser = argparse.ArgumentParser() parser.add_argument('--co..
백엔드 개발을 하다보면 linux 환경에서 shell script나 python code등을 작성해야 할 때가 있습니다. 물론 로컬의 Pycharm이나 VSCode 등을 쓰면 좋겠지만 보안상의 이유로 서버에서만 작업해야 하는 등 어쩔 수 없이 vim을 쓰게 되는 경우가 많습니다. 그래서 점점 ide에서도 vim플러그인을 깔아서 하루 종일 vim으로 코딩을 하게 되다보니 가끔 vim에디터가 아닌 다른 에디터를 써야 할 때 vim이 얼마나 좋은지 새삼 느끼게 되는 경우가 있습니다. 커서 이동 vim에 익숙해지면 커서 이동 할 때 여러번 누르거나 누르고 있는게 귀찮아집니다. 예를 들면 메모장에서 메모를 할 때 위와 같은 상황에서 ------------ 이렇게 줄을 넣고 싶을 때 두가지 선택이 있습니다. ---..
개요 Dockerfile과는 별개로 FROM 절에 바꿔주고 싶은 값이 2개 이상일 때가 있습니다. 예를들면 아래와 같이 HOST도 바꿔주고 싶고 버젼도 동적으로 바꿔주고 싶을때 입니다. FROM gcr.io/nginx:1.1 위 FROM절에서 gcr.io를 hello.world 등으로 동적으로 바꾸고 싶을 때가 있습니다. docker build -t gcr.io/nginx -f Dockerfile --build-arg REPO_HOST="hello.world" --build-arg VERSION="1.1" 그럴 때 위 명령어로 빌드를 하고 Dockerfile에는 ARG를 선언 해줍니다. 특이한점으로는 변수마다 --build-arg를 붙여주어야 한다는 것입니다. Dockerfile ARG REPO_HOST..
개요 Jenkins를 이용하다보면 특정 parameter에 따라 빌드 방법을 다르게 해야 할 때가 있습니다. 그때 when을 이용합니다. if문을 검색 해보았지만 신통치 않아서 when을 이용하게 되었습니다. 우리가 이용하는 if문과 when은 구조가 조금 다르지만 조건에 따라 실행되고 실행 안된다는 기능을 구현 할 수 있습니다. pipeline { agent any environment{ ENV = "prd" } stages { stage('Hello') { when{ environment name:"ENV", value:"dev" } steps { echo 'This is dev.' } } stage('Bye') { when{ environment name:"ENV", value:"prd" } ste..
Jenkins 프로젝트를 이전 포스트에서 만들었기 때문에 이전 포스트에 이어서 가보겠습니다. Parameter 왜 쓸까요? 빌드를 하다보면 여러가지 변경을 주면서 빌드를 해야 할 때가 있습니다. 예를 들어 해당 app이 dev용인지 prd용인지에 따라서 빌드하는 내용이 달라질 수 있습니다. 또한 Python의 버젼을 3.7.9로 할지 3.6.9로 할지 등이 바뀌는 경우 매번 코드를 수정하고 다시 배포해야 하는 등 빌드할 때 변화를 주어야 하는 경우가 있습니다. 이 경우에 Parameter를 이용하면 소스코드를 수정하지 않고도 변화를 줄 수 있습니다. 그러면 Build할 때 Parameter를 추가 해보겠습니다. 시나리오는 파이썬 버젼이 바뀌는 시나리오 입니다. 좌측 메뉴 'Configure'로 가봅니다...
- Total
- Today
- Yesterday
- docker container tissue
- 2017 티스토리 결산
- 이직
- shellscript
- docker container
- 도커컨테이너
- Sh
- docker container case
- 개발자
- 도커티슈케이스
- 도커각티슈박스
- 도커티슈박스
- 도커각티슈케이스
- docker container tissue box
- vim
- docker container whale
- 싱가폴
- Linux
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |