전체 글 272

git push가 오면 centos server에 jenkins가 자동으로 배포하게 하기 2편

1. 젠킨스 콘솔에 접속해주세요. New Item 을 선택하면 프로젝트 설정 화면이 나옵니다. Enter an item name에 이름을 입력하고 Freestyle project를 선택해주세요. 2. General에서 Github project 체크 후에 Project url 에 깃허브 주소를 입력해주세요. This project is parameterized 체크 후에 String Parameter 선택해주세요. Name에는 payload를 입력해주세요. 3. Source Code Management에서 Git 체크해주세요 Repository URL 에는 깃헙 주소를 입력해주세요(http로 시작해서 git으로 끝나는 그것...) Credentials에 미리 등록한 정보가 없다면 Add 버튼 눌러서 추가..

CI/CI__Jenkins 2020.03.19

git push가 오면 centos server에 jenkins가 자동으로 배포하게 하기 1편

1. 환경 설정 배포 서버 : 펭귄 서버 ci 서버 : 젠킨스 서버(편의상 젠킨스 서버라고 부를게오) 펭귄 서버에는 git, 소스 기타 등등이 설치되어 있습니다. 펭귄 서버에 연동된 git에 감자(나)가 commit을 하고 master 브랜치에 푸쉬를 해주면 젠킨스는 펭귄 서버로 달려가서 git pull을 한 후에 배포를 합니다. 2. 어떻게 접속할 것인가 젠킨스 서버가 펭귄 서버로 달려가려면 젠킨스 -> 펭귄 ssh로 접속할 수 있는 권한이 있어야 합니다. 지금부터 편의상 젠킨스 -> 펭귄 ssh key 이름은 id_rsa_for_펭귄이라고 부르겠습니다. 젠킨스 서버에서 ssh key를 생성한 후에, id_rsa_for_펭귄.pub 파일을 펭귄 서버에 등록해줍니다. 관련 설명은 아래 참고 https:/..

CI/CI__Jenkins 2020.03.19

Sanic, gUnicorn, Nginx 삽질일기 2)

두둥! access log가 남지 않는 초유의 사태가 발생했다. 근데 errorlog에 저렇게 남겨줬더니 access log가 찍힌다 이유가 뭘까?.... 이렇게 설정 잡아주기 전에는 파일이 아니라 콘솔에 찍혀서 미친줄 알았다... gunicorn_config.py import datetime now = str(datetime.datetime.now()).replace('-', '').replace(' ', '') file_name = '{}_{}'.format(now[0:8], now[8:13]) #default settings workers = 몇개나? worker_class = 'sanic.worker.GunicornWorker' bind = 'unix:/소켓파일' user = 'root' erro..

Sanic, gUnicorn, Nginx 삽질일기 1)

시작은 sanic 이었습니다. sanic은 빠르다고(알려져있고) 기타등등 flask와 비슷하면서 기능은 더 많다네오.. 한마디로 flask를 쓸줄 알면 sanic은 딱히 어려울 것이 없다는 뜻이죠.. 그리고 요즘 잘나가는 회사는 sanic을 쓴다는 소문이 있길래(ㅋㅋㅋㅋ) 그래서 저는 sanic이 쓰고 싶었습니다. flask로 만든 api들을 sanic으로 바꾸는건 딱히 어렵지 않았어요. 문제는 sanic + uwsgi + nginx 였습니다. 평소 하던대로(?) 했는데 자꾸 에러를 뱉음 TypeError: __call__() takes 1 positional argument but 3 were given 더 놀라운점은 이때 난 파라미터를 안줬다는 점이죠 ㅋㅋㅋㅋㅋ 테스트용으로 api를 하나 껴놨기에....

setting

html 수정 후에 빌드 안하고 리컴파일로 부르고 싶다면 devtools 라이브러리를 추가한다 implementation 'org.springframework.boot:spring-boot-devtools' 롬복 설정 방법 1 build.gradle에 두줄 동시해서 추가 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' 롬복 설정 방법 2 build.gradle에 추가 후에 설정에서 annotation processors에서 Enable annotaion processing 체크 compileOnly 'org.projectlombok:lombok'

sqlalchemy

다가져오기 session.query(테이블이름).filter(테이블이름.컬럼이름 == 'test').all() 하나만 가져오기 session.query(테이블이름).filter(테이블이름.컬럼이름 == 'test').first() 특정 컬럼만 가져오기 session.query(테이블이름.특정컬럼이름).filter(테이블이름.컬럼이름 == 'test').all() 돌면서 지우기 res = session.query(테이블이름).filter(테이블이름.컬럼이름 == 'test').all() for r in res: session.delete(r) session.commit() 한번에 지우기 res = session.query(테이블이름).filter(테이블이름.컬럼이름 == 'test').delete(sync..