เริ่มจาก GitLab เริ่มบังคับให้มี member ได้แค่ 5 คน
แต่ package จ่ายเงินของ GitLab ตอนนี้เปลี่ยนเป็น Premium
ซึ่งราคาคนละ $29 / month
ซึ่งราคาแรงไปสำหรับทีม และ Product ที่ scale ยังเล็กอยู่
เลยตัดสินใจย้ายไปที่ Bitbucket กัน
แต่เนื่องจากตัว CI/CD ทั้งหมดเขียนอยู่บน GitLab
ถ้าจะเขียนตัว CI/CD ใหม่หมดทุกโปรเจคให้มาเป็นของ Bitbucket
น่าจะต้องใช้เวลานานมาก
เลยตัดสินใจแบ่งเป็น 2 เฟส คือ
Phase1 > ใช้ Bitbucket เก็บไฟล์เท่านั้น เมื่อมีการ push ก็ให้ตัว Bitbucket ทำการ push ต่อไปที่ GitLab
แล้วทาง GitLab ก็จะรัน CI/CD ต่อได้เลย
วิธีนี้ทำให้ไม่ต้องเขียน CI/CD ใหม่
Phase2 > คือ ค่อยๆ กลับมาเขียนตัว CI/CD ให้เป็นของ Bitbucket
ข้อเสีย
จะแสดงชื่อคน push เป็นคนเดียวกันทั้งหมด
ถ้าจะดูชื่อคน commit จริงๆ ต้องกดเข้าไปดูใน commit อีกที
ขั้นตอน
- สร้าง ssh key เพื่อให้ Bitbucket push code ไปที่ GitLab ได้
ssh-keygen -t rsa -b 4096 -N '' -f my_ssh_key
- Add ssh key ใน GitLab Profile ของเรา
- Add ssh key ใน Project ที่ Bitbucket ของเรา
- Add
bitbucket_pipelines.yml
ใน project ของเรา
pipelines:
branches:
'*':
- step:
script:
- git remote add gitlab [Repo URL ของเรา]
- git push gitlab $BITBUCKET_BRANCH
tags:
'*':
- step:
script:
- git remote add gitlab [Repo URL ของเรา]
- git push gitlab $BITBUCKET_TAG
Top comments (0)