일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- API
- Airflow
- correlation
- requests
- GenericGBQException
- API Gateway
- tensorflow text
- login crawling
- TensorFlow
- grad-cam
- flask
- BigQuery
- integrated gradient
- youtube data
- top_k
- 공분산
- airflow subdag
- subdag
- session 유지
- UDF
- chatGPT
- gather_nd
- GCP
- Counterfactual Explanations
- XAI
- 유튜브 API
- Retry
- spark udf
- 상관관계
- hadoop
- Today
- Total
목록DevOps (28)
데이터과학 삼학년
젠킨스 파이프라인 관리 개요 젠킨스 파이프라인 코드 관리를 위한 방법 현황 젠킨스 파이프라인은 pipeline script를 통해 사용하고 있음 이렇게 사용하면 작은 창에 긴 pipeline을 쓰기 매우 불편 파이프라인 설정 방법은 직접 script 작성 외 SCM (Source Code Management)으로 부터 파이프라인을 불러와 실행 시킬 수 있음 적용 방법 1. pipeline script를 파일로 저장 Git 과 (apache) Subversion 지원 2. git에 기존 pipeline을 아래와 같이 저장 (.groovy, Jenkisfile 등) - Jenkisfile 예시 node { try{ timeout(time:15, unit:'MINUTES') { stage('Code') { r..
젠킨스 파이프라인에서 다른 vm ssh에 접속해 데이터 전처리를 처리하는 것을 알아본다. 젠킨스는 1번 vm에 깔려 job을 관리하고 있고 젠킨스에서 내린 명령은 2번 vm에서 parallel로 돌기를 원한다 Pipeline 1. 젠킨스가 깔린 1번 vm에서 실행시키고자 하는 코드를 git으로 부터 받는다. 2. 1번 vm에 있는 코드를 2번 vm에 복사하여 넣는다 (gcloud compute scp) 3. 2번 vm에서 parallel로 돌도록 명령을 내린다 (gcloud compute ssh) 젠킨스 파이프라인 코드 def preprocessParallel(LANGUAGE, N_SPLIT, MODE) { sh """ gcloud compute ssh anomaly-detection-pan --proj..
jenkins를 이용해 job을 관리한다. 이때 내가 구성한 pipeline의 stage 마다 실행될 환경이 local이 아닌 remote ssh일 경우가 있다. 이때 어떻게 연결해야 할까? 만약 GCP를 쓰고 있고 GCP의 compute engine에 연결하고 싶다면 gcloud compute ssh 커맨드를 참고하면 된다. ## example-instance에 접속 gcloud compute ssh example-instance --zone=us-central1-a gcloud compute ssh [USER@]INSTANCE [--command=COMMAND] [--container=CONTAINER] [--dry-run] [--force-key-file-overwrite] [--plain] [--..
현상 젠킨스는 한달을 주기로 오래된 Job에 대해서 workspace를 wipe out 적용하여 workspace 내의 빌드 폴더 내부 내용을 삭제함 이는 오래된 build의 경우, 젠킨스 내부에서 build별 clean-up 시기를 파악한 후 한달 주기로 관리함으로서 불필요한 리소스를 제거하기 위함 젠킨스 시스템 로그를 보면 매일 workspace clean-up이 동작하는 것을 볼 수 있음 Jenkins actually deletes unused ws to keep disk space. Runs by default after 30 days. 문제점 젠킨스 workspace 내의 빌드 폴더안에 지워져서는 안되는 파일이 있을 수 있음 config라던지 vm환경 내에서 파일을 직접 추가 수정한 경우도 이에..
Airflow airBnB에서 개발한 pipeline 작성 ㅁ치 workflow 관리를 위한 시스템 Dag라는 Directed Acyclic Graph 라는 개념의 workflow 단위로 실행 파이썬 코드로 작성되어, 동일한 task 수행시에도 for 문과 if 조건문을 이용해 손쉽게 파이프라인 잡 실행 가능 파라미터화가 되어 있지 않아, 실행할때마다 dag.py를 계속 고쳐주어야함 operator를 이용하여 복잡한 workflow의 구성이 손쉬움 t1 >> [t2, t3] >> t4 >> t1 등 dag간 연결을 위해 externalTaskSensor 사용 젠킨스의 trigger로 잡을 연결시키는 것과 비슷 Jenkins groovy 기반으로 구성되어 있는 devops를 위한 시스템 web ui를 통해..
Airflow python 파일을 이용하여 workflow 단위인 dag(directed acyclic graph)을 만들어 전체적인 파이프라인을 관리 ~/airflow/dags/ 폴더 아래에 해당 python 파일을 넣으면 UI에 dag가 나타나게 됨 web에서 dag을 생성하고, code를 수정할 수 없음 python 파일을 직접 수정해서 환경 폴더내에 넣어줘야함 python 기반으로 쉽게 workflow를 생성할 수 있다는 장점은 있으나, 웹 ui에서 모두 수정이 가능한 젠킨스에 비해 활용성이 떨어지는 것으로 보임 GCP에서는 COMPOSER라는 개념으로 AIRFLOW를 제공해주고 있음 Import Modules airflow 모듈을 통해 필요한 operator, 기능 등 import 해서 사용 #..
vm에 jenkins를 깔고 수행할 경우, 혹은 jenkins의 workspace에 직접 파일을 저장해놓았을때 엥? 파일이 없어졌네??? 뭐지???라는 이슈가 생길 수 있다. 현상예를 들어 git의 코드를 jenkins workspace job 폴더에 모두 clone한 다음 수행하는 잡이 있다고 하자. 이때, 만약 git의 코드를 제외하고, config 파일을 jenkins에 workspace job 폴더에 넣어놓고 수행할 경우, 갑자기 어느날 workspace job 폴더의 config 파일 뿐만 아니라 git clone했던 코드들이 모두 사라져 있는 경우, 혹은 job 폴더 자체가 사라지는 케이스가 발생했다. 이유 젠킨스 workspace cleanup 설정 때문이다. jenkins는 old job을..
Docker의 명령어를 정리해보자. 먼저 docker는 root 기반에서 실행해야하기 때문에 일반 접속 후 실행하기 위해서는 sudo를 앞에 붙이고 실행하면 된다. sudo 를 붙이지 않고 실행하는 방법도 있지만 그것은 뒤에서 다루도록 한다. docker 이미지 조회 sudo docker images docker 이미지 검색하기 sudo docker search [이미지 이름] docker 이미지 가져오기 sudo docker pull [이미지 이름]:[태그] ========================= sudo docker pull centos:7 docker 이미지 생성하기 sudo docker build ==================== sudo docker build --tag hello:0..