Slide 1

Slide 1 text

Masocon 2017

Slide 2

Slide 2 text

협업으로 달라붙고, 빌드 자동화로 편해지자 코딩이랑 무관합니다만, 배준현

Slide 3

Slide 3 text

안녕하세요. 페이스북 그룹 코딩이랑 무관합니다만 운영진 배준현 입니다.

Slide 4

Slide 4 text

이번 시간에는 협업 툴과 빌드 자동화 에 대해 발표를 할까 합니다.

Slide 5

Slide 5 text

왜 인지는 모르겠지만 코드 리뷰와 협업툴을 은근히 꺼려 하시는 분들이 많은 것 같습니다.

Slide 6

Slide 6 text

작은 회사를 다니면서 머리 박았던 경험을 재현 해봤습니다.

Slide 7

Slide 7 text

아울러 발표자료에 인용을 허락해주신 이규원 CTO(오마이트립)께 감사드립니다.

Slide 8

Slide 8 text

2015년 누군가는 이렇게 말했다. • 1. 작업항목 등록(backlog, task, bug, ...) 2. 작업항목 승인 및 작업자 할당 3. 코딩(production code + tests) 4. 커밋 5. PR(pull request) 작성 6. 코드 리뷰 7. PR 승인 및 병합(merge into master) 8. 빌드(master 브랜치 트리거) 9. 단위(unit) 테스트 10. 패키징 11. 통합(integration) 테스트 12. 개발 환경 배포 13. 개발 환경 대상 기능(functional) 테스트 14. 스테이징 환경 배포 15. 스테이징 환경 대상 기능 테스트 16. 스왑(무중단 프로덕션 배포) • 여기서 8번부터 15번까지가 자동화됩니다. 16번은 후달려서 자동화 못했지만 용자라면 쉽게 할 수 있습니다. 출처 https://www.facebook.com/gyuwon.yi

Slide 9

Slide 9 text

색상을 입혀 봤습니다. • 1. 작업항목 등록(backlog, task, bug, ...) 2. 작업항목 승인 및 작업자 할당 3. 코딩(production code + tests) 4. 커밋 5. PR(pull request) 작성 6. 코드 리뷰 7. PR 승인 및 병합(merge into master) 8. 빌드(master 브랜치 트리거) 9. 단위(unit) 테스트 10. 패키징 11. 통합(integration) 테스트 12. 개발 환경 배포 13. 개발 환경 대상 기능(functional) 테스트 14. 스테이징 환경 배포 15. 스테이징 환경 대상 기능 테스트 16. 스왑(무중단 프로덕션 배포) • 여기서 8번부터 15번까지가 자동화됩니다. 16번은 후달려서 자동화 못했지만 용자라면 쉽게 할 수 있습니다. 출처 https://www.facebook.com/gyuwon.yi

Slide 10

Slide 10 text

하나씩 봅시다. • 1. 작업항목 등록(backlog, task, bug, ...) 2. 작업항목 승인 및 작업자 할당 3. 코딩(production code + tests) 4. 커밋 5. PR(pull request) 작성 6. 코드 리뷰 7. PR 승인 및 병합(merge into master) 8. 빌드(master 브랜치 트리거) 9. 단위(unit) 테스트 10. 패키징 11. 통합(integration) 테스트 12. 개발 환경 배포 13. 개발 환경 대상 기능(functional) 테스트 14. 스테이징 환경 배포 15. 스테이징 환경 대상 기능 테스트 16. 스왑(무중단 프로덕션 배포)

Slide 11

Slide 11 text

무엇을 쓸지 고민하지 마세요 월급이 가장 비쌉니다(?) 일단 쓸 수 있으면 장땡입니다.

Slide 12

Slide 12 text

그래서 써봤습니다.

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

• 1. 작업항목 등록(backlog, task, bug, ...) 2. 작업항목 승인 및 작업자 할당 3. 코딩(production code + tests) 4. 커밋 5. PR(pull request) 작성 6. 코드 리뷰 7. PR 승인 및 병합(merge into master) 8. 빌드(master 브랜치 트리거) 9. 단위(unit) 테스트 10. 패키징 11. 통합(integration) 테스트 12. 개발 환경 배포 13. 개발 환경 대상 기능(functional) 테스트 14. 스테이징 환경 배포 15. 스테이징 환경 대상 기능 테스트 16. 스왑(무중단 프로덕션 배포)

Slide 15

Slide 15 text

2015년… 회사에 들어왔는데 레거시를 보고 싶었습니다. 압축파일을 주네요…

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

아… 뭔가 잘못 된것 같다… 저때 탈출 했었어야 했어…

Slide 18

Slide 18 text

힘을주세요 토발즈님 업적 리눅스 만듬 GIT만듬

Slide 19

Slide 19 text

힘을주세요 토발즈님 업적 리눅스 만듬 GIT만듬

Slide 20

Slide 20 text

GIT 넘어갑시다.

Slide 21

Slide 21 text

이걸 써보는건 어떨까요? 거절당함 저때 탈출 했었어야… GIT을 제안하다.

Slide 22

Slide 22 text

이렇게 된 이상 혼자 쓴다… 저때 탈출 했었어야… 거절당하다

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

저는 혼자 행복 했습니다… 누구나 나의 코드를 볼 수 있어! 제 코드 리뷰 좀 해봐줘요! 제 코드요? 192.168.0…들어가시면 저때 탈출 했었어야…

Slide 28

Slide 28 text

근데 너무 느려 WakeUp Time 필요. Pull을 하고 F5를 눌렀는데 404를 보게 됩니다. 저때 탈출 했었어야…

Slide 29

Slide 29 text

결국 2016년 7월 GITHUB Organization을 도입합니다. 좀 진작 해주지…

Slide 30

Slide 30 text

맞아요 돈이 최고에요. 아틀라시안 결제해주세요 그냥…

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

• 1. 작업항목 등록(backlog, task, bug, ...) 2. 작업항목 승인 및 작업자 할당 3. 코딩(production code + tests) 4. 커밋 5. PR(pull request) 작성 6. 코드 리뷰 7. PR 승인 및 병합(merge into master) 8. 빌드(master 브랜치 트리거) 9. 단위(unit) 테스트 10. 패키징 11. 통합(integration) 테스트 12. 개발 환경 배포 13. 개발 환경 대상 기능(functional) 테스트 14. 스테이징 환경 배포 15. 스테이징 환경 대상 기능 테스트 16. 스왑(무중단 프로덕션 배포)

Slide 33

Slide 33 text

때는 바야흐로 2017-11-20 마소콘 발표 자료 만들어야 하는데… 어제 완성했어요

Slide 34

Slide 34 text

경품추첨 받아가세요

Slide 35

Slide 35 text

내가한다.

Slide 36

Slide 36 text

• 1. 작업항목 등록(backlog, task, bug, ...) 2. 작업항목 승인 및 작업자 할당 3. 코딩(production code + tests) 4. 커밋 5. PR(pull request) 작성 6. 코드 리뷰 7. PR 승인 및 병합(merge into master) 8. 빌드(master 브랜치 트리거) 9. 단위(unit) 테스트 10. 패키징 11. 통합(integration) 테스트 12. 개발 환경 배포 13. 개발 환경 대상 기능(functional) 테스트 14. 스테이징 환경 배포 15. 스테이징 환경 대상 기능 테스트 16. 스왑(무중단 프로덕션 배포) 잠깐… 지금 랜덤코드가 아니라. 자료부터 만들어야해…

Slide 37

Slide 37 text

• 1. 작업항목 등록(backlog, task, bug, ...) 2. 작업항목 승인 및 작업자 할당 3. 코딩(production code + tests) 4. 커밋 5. PR(pull request) 작성 6. 코드 리뷰 7. PR 승인 및 병합(merge into master) 8. 빌드(master 브랜치 트리거) 9. 단위(unit) 테스트 10. 패키징 11. 통합(integration) 테스트 12. 개발 환경 배포 13. 개발 환경 대상 기능(functional) 테스트 14. 스테이징 환경 배포 15. 스테이징 환경 대상 기능 테스트 16. 스왑(무중단 프로덕션 배포) 잠깐… 지금 랜덤코드가 아니라. 자료부터 만들어야해…

Slide 38

Slide 38 text

No content

Slide 39

Slide 39 text

모두가 행복했습니다.

Slide 40

Slide 40 text

• 1. 작업항목 등록(backlog, task, bug, ...) 2. 작업항목 승인 및 작업자 할당 3. 코딩(production code + tests) 4. 커밋 5. PR(pull request) 작성 6. 코드 리뷰 7. PR 승인 및 병합(merge into master) 8. 빌드(master 브랜치 트리거) 9. 단위(unit) 테스트 10. 패키징 11. 통합(integration) 테스트 12. 개발 환경 배포 13. 개발 환경 대상 기능(functional) 테스트 14. 스테이징 환경 배포 15. 스테이징 환경 대상 기능 테스트 16. 스왑(무중단 프로덕션 배포) 그럴리가 없죠. 요구사항이 발생했다! 떠넘기기 스킬을 시전했다 ! 떠넘기기 실패.

Slide 41

Slide 41 text

• 1. 작업항목 등록(backlog, task, bug, ...) 2. 작업항목 승인 및 작업자 할당 3. 코딩(production code + tests) 4. 커밋 5. PR(pull request) 작성 6. 코드 리뷰 7. PR 승인 및 병합(merge into master) 8. 빌드(master 브랜치 트리거) 9. 단위(unit) 테스트 10. 패키징 11. 통합(integration) 테스트 12. 개발 환경 배포 13. 개발 환경 대상 기능(functional) 테스트 14. 스테이징 환경 배포 15. 스테이징 환경 대상 기능 테스트 16. 스왑(무중단 프로덕션 배포) 잠깐… 지금 랜덤코드가 아니라. 자료부터 만들어야해… 그냥 이걸 자료로 쓰자.

Slide 42

Slide 42 text

• 1. 작업항목 등록(backlog, task, bug, ...) 2. 작업항목 승인 및 작업자 할당 3. 코딩(production code + tests) 4. 커밋 5. PR(pull request) 작성 6. 코드 리뷰 7. PR 승인 및 병합(merge into master) 8. 빌드(master 브랜치 트리거) 9. 단위(unit) 테스트 10. 패키징 11. 통합(integration) 테스트 12. 개발 환경 배포 13. 개발 환경 대상 기능(functional) 테스트 14. 스테이징 환경 배포 15. 스테이징 환경 대상 기능 테스트 16. 스왑(무중단 프로덕션 배포) 아참 빌드 자동화를 할 때 예전부터 꼭 참고 하고 싶었던 페이지가 있습니다.

Slide 43

Slide 43 text

!Emacs • https://github.com/vim/vim

Slide 44

Slide 44 text

• 1. 작업항목 등록(backlog, task, bug, ...) 2. 작업항목 승인 및 작업자 할당 3. 코딩(production code + tests) 4. 커밋 5. PR(pull request) 작성 6. 코드 리뷰 7. PR 승인 및 병합(merge into master) 8. 빌드(master 브랜치 트리거) 9. 단위(unit) 테스트 10. 패키징 11. 통합(integration) 테스트 12. 개발 환경 배포 13. 개발 환경 대상 기능(functional) 테스트 14. 스테이징 환경 배포 15. 스테이징 환경 대상 기능 테스트 16. 스왑(무중단 프로덕션 배포) 아프리카 친구도 쓰는 그것 ! !Emacs 참고)___________________________ VIM은 우간다에 후원중입니다.

Slide 45

Slide 45 text

!Emacs • https://github.com/vim/vim

Slide 46

Slide 46 text

빌. 드. 자. 동. 화

Slide 47

Slide 47 text

0. 여러분의 예상반응

Slide 48

Slide 48 text

• 1. 작업항목 등록(backlog, task, bug, ...) 2. 작업항목 승인 및 작업자 할당 3. 코딩(production code + tests) 4. 커밋 5. PR(pull request) 작성 6. 코드 리뷰 7. PR 승인 및 병합(merge into master) 8. 빌드(master 브랜치 트리거) 9. 단위(unit) 테스트 10. 패키징 11. 통합(integration) 테스트 12. 개발 환경 배포 13. 개발 환경 대상 기능(functional) 테스트 14. 스테이징 환경 배포 15. 스테이징 환경 대상 기능 테스트 16. 스왑(무중단 프로덕션 배포) 1. 베이스코드 투척

Slide 49

Slide 49 text

2. Travis-CI 가입후 싱크

Slide 50

Slide 50 text

2. Travis-CI DOC를 봅시다.

Slide 51

Slide 51 text

본격 랜덤 추출기 CI

Slide 52

Slide 52 text

본격 랜덤 추출기 CI

Slide 53

Slide 53 text

감사합니다.