무언가에서 다른 것으로 이주 할 때 정의해야 할 것은 두 가지뿐입니다.
- 당신의 목표는 무엇입니까
- 가는 방법 (이주 계획)
첫 번째 부분은 슬프게도, 종종 간과 또는 인 방법 너무 막연. 당신은 단순히 당신이 가진 것이 엉망이고 그것을 조직하고 싶다고 말할 수 없습니다. 그게 무슨 뜻이야? (: 모든 디바이스가 생각 일명 모두가 서로 다른 해석을 할 것이다 그의 혹은 그녀의 일을하는 방법이 최고입니다).
기회는 당신이 봉사하거나 목적을 달성 한 모든 지점입니다. 명확하게 정의 된 대상 프로세스가 없으면 사람들은 자신에게 가장 적합한 방식으로 자신에게 맞는 작업을 계속 수행 할 것입니다.
예를 들어, Vincent Driessen이 "성공적인 Git 분기 모델"을 정의한대로 대상을 명확하게 정의해야합니다 . 이 모델을 살펴보면 매우 정확합니다. 안정적인 코드의 위치와 불안정한 기능을 개발해야하는 위치를 나타냅니다. 또한 분기, 업데이트 및 병합 방법 및시기도 설명합니다. 각 브랜치가 무엇을 위해 무엇을해야하는지 알고 있습니다. 우리는 Vincent가 제시 한 변형을 사용하며 변형은 위키에 정의되어 있습니다.
중요한 점은 모든 팀이 목표를 이해하고 동의하도록하는 것입니다. 사람들이 개인적으로 선호하는 브랜칭 모델을 찾고 있지 않지만 모든 팀 구성원이 쉽게 동의하고 사용할 수있는 모델을 상기시키는 것이 좋습니다.
목표가 설정되면 마이그레이션 계획을 구체화 할 수 있습니다. 그 계획은 원하는만큼 길거나 짧을 수 있습니다. 이러한 분기 모델이 밤새 부과되는 것을 보았습니다. 다른 곳에서는 2 ~ 3 회 이상의 스프린트를 거쳤습니다. 우리가 발전하는 한 나에게별로 중요하지 않습니다.
"가장 큰"또는 더 중요한 분기로 시작할 수 있습니다. 예 : "지금부터 마스터는 항상 prod에 배포 된 상태에 있어야하며 dev 분기는 항상 컴파일해야합니다"(또는 규칙에 관계없이). 그런 다음 버전 (릴리스) 분기를 시행하십시오. 그런 다음 기능 분기를 시행하십시오. 그런 다음 버전 분기에 코드 동결을 적용하십시오.
DevOps는 커뮤니케이션, 개방성 및 효율성에 관한 것입니다. 이러한 개념은 프로세스 전체에서 염두에 두어야합니다.
개발 팀 외부의 일부 사람들을 관찰자로 프로세스 회의에 초대하는 것이 좋습니다. 작전 또는 중간 관리 진은 모델에 대해 한두 가지를 말할 수 있습니다. 개발자의 요구에 우선 순위를 두어야하지만 분기 모델이 사물을 관리하는 방식과 일치 할 수없는 경우 한두 달이 아니라 지금 더 잘 알고 있어야합니다.
정말 큰 팀이 있다면 그럼에도 불구하고 모든 사람을 포함 시키십시오. 매우 큰 팀이 있으면 어쨌든 두세 번의 회의가 끝납니다. 따라서 회의실에 팀 리더를 초대하지만 웹 캐스트를 사용하여 모든 사람에게 알려주십시오. 제안이나 우려 사항이있는 사람은 팀 리더에게 의견을 제시 할 수 있으며, 유효한 경우 두 번째 또는 세 번째 모임에서 해결됩니다.