DEV Community

CodeBanBan
CodeBanBan

Posted on

บันทึกการย้าย Project จาก GitLab ไป Bitbucket #Phase1

เริ่มจาก 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
Enter fullscreen mode Exit fullscreen mode

Top comments (0)