Tích hợp AppCenter và GitLab

Tryam, xin chào!

Tôi muốn nói về trải nghiệm của mình trong việc thiết lập tích hợp GitLab và AppCenter thông qua BitBucket.

Nhu cầu tích hợp như vậy nảy sinh khi thiết lập tự động khởi chạy thử nghiệm giao diện người dùng cho một dự án đa nền tảng trên Xamarin. Hướng dẫn chi tiết bên dưới phần cắt!

* Tôi sẽ viết một bài viết riêng về tự động hóa kiểm tra giao diện người dùng trong điều kiện đa nền tảng nếu công chúng quan tâm.

Tôi chỉ đào được một tài liệu như vậy Bài viết. Vì vậy, bài viết của tôi có thể giúp được ai đó.

Nhiệm vụ: Thiết lập tự động khởi chạy thử nghiệm giao diện người dùng trên AppCenter, vì nhóm của chúng tôi sử dụng GitLab làm hệ thống kiểm soát phiên bản.

vấn đề Hóa ra AppCenter không tích hợp trực tiếp với GitLab. Bỏ qua qua BitBucket được chọn là một trong những giải pháp.

Шаги

1. Tạo kho lưu trữ trống trên BitBucket

Tôi thấy không cần thiết phải mô tả chi tiết hơn :)

2. Thiết lập GitLab

Chúng tôi cần điều đó khi đẩy/hợp nhất vào kho lưu trữ, các thay đổi cũng được tải lên BitBucket. Để thực hiện việc này, hãy thêm một trình chạy (hoặc chỉnh sửa tệp .gitlab-ci.yml hiện có).

Đầu tiên chúng ta thêm lệnh vào phần before_scripts

 - git config --global user.email "user@email"
 - git config --global user.name "username"

Sau đó thêm lệnh sau vào giai đoạn mong muốn:

- git push --mirror https://username:[email protected]/username/projectname.git

Trong trường hợp của tôi, đây là tập tin tôi nhận được:

before_script:
 - git config --global user.email "user@email"
 - git config --global user.name "username"

stages:
  - mirror
mirror:
  stage: mirror
  script:
    - git push --mirror https://****:*****@bitbucket.org/****/testapp.git

Chúng tôi khởi chạy bản dựng, kiểm tra xem các thay đổi/tệp của chúng tôi có trên BitBucket hay không.
* như thực tế đã chỉ ra, việc thiết lập khóa SSH là tùy chọn. Tuy nhiên, để đề phòng, tôi sẽ cung cấp thuật toán thiết lập kết nối qua SSH bên dưới

Kết nối qua SSH

Trước tiên, bạn cần tạo khóa SSH. Nhiều bài báo đã viết về điều này. Ví dụ, bạn có thể nhìn đây.
Các khóa được tạo trông giống như thế này:
Tích hợp AppCenter và GitLab

Tiếp theo Chìa khóa bí mật cần được thêm dưới dạng biến vào GitLab. Để thực hiện việc này, hãy đi tới Cài đặt > CI/CD > Biến môi trường. Thêm TẤT CẢ nội dung của tệp mà bạn đã lưu khóa bí mật. Hãy gọi biến SSH_PRIVATE_KEY.
* tệp này, không giống như tệp khóa chung, sẽ không có phần mở rộng
Tích hợp AppCenter và GitLab

Tuyệt vời, tiếp theo bạn cần thêm khóa chung vào BitBucket. Để thực hiện việc này, hãy mở kho lưu trữ và đi tới Cài đặt > Khóa truy cập.

Tích hợp AppCenter và GitLab

Ở đây chúng ta nhấp vào Thêm khóa và chèn nội dung của tệp bằng khóa chung (tệp có phần mở rộng .pub).

Bước tiếp theo là sử dụng các phím trong gitlab-runner. Sử dụng các lệnh này nhưng thay thế dấu hoa thị bằng thông tin chi tiết của bạn

image: timbru31/node-alpine-git:latest

stages:
  - mirror

before_script:
  - eval $(ssh-agent -s)
  - echo "$SSH_PRIVATE_KEY" | tr -d 'r' | ssh-add - > /dev/null
  - mkdir -p ~/.ssh
  - chmod 700 ~/.ssh
  - ssh-keyscan bitbucket.org >> ~/.ssh/known_hosts
  - chmod 644 ~/.ssh/known_hosts
  - git config --global user.email "*****@***"
  - git config --global user.name "****"
  - ssh -T [email protected]

mirror:
  stage: mirror
  script:
    - git push --mirror https://****:****@bitbucket.org/*****/*****.git

3. Thiết lập AppCenter

Chúng tôi tạo một ứng dụng mới trên AppCenter.

Tích hợp AppCenter và GitLab

Chỉ định ngôn ngữ/nền tảng

Tích hợp AppCenter và GitLab

Tiếp theo vào phần Build của ứng dụng mới tạo. Ở đó chúng tôi chọn BitBucket và kho lưu trữ được tạo ở bước 1.

Tuyệt vời, bây giờ chúng ta cần cấu hình build. Để thực hiện việc này, hãy tìm biểu tượng bánh răng

Tích hợp AppCenter và GitLab

Về nguyên tắc, mọi thứ đều trực quan. Chọn một dự án và cấu hình. Nếu cần, hãy bật khởi chạy thử nghiệm sau khi xây dựng. Họ sẽ bắt đầu tự động.

Về cơ bản thì chỉ vậy thôi. Nghe có vẻ đơn giản nhưng tất nhiên mọi chuyện sẽ không diễn ra suôn sẻ. Vì vậy mình sẽ mô tả một số lỗi mà mình gặp phải khi làm việc:

'ssh-keygen' không được công nhận là lệnh nội bộ hoặc bên ngoài.

Nó cũng xảy ra do đường dẫn đến ssh-keygen.exe không được thêm vào các biến môi trường.
Có hai tùy chọn: thêm C:Program FilesGitusrbin vào Biến môi trường (sẽ được áp dụng sau khi khởi động lại máy) hoặc khởi chạy bảng điều khiển từ thư mục này.

AppCenter kết nối với tài khoản BitBucket sai?

Để giải quyết vấn đề, bạn cần hủy liên kết tài khoản BitBucket của mình khỏi AppCenter. Chúng ta đăng nhập sai tài khoản BitBucket và truy cập vào hồ sơ người dùng.

Tích hợp AppCenter và GitLab

Tiếp theo, đi tới Cài đặt > Quản lý quyền truy cập > OAuth

Tích hợp AppCenter và GitLab

Nhấp vào Thu hồi để hủy liên kết tài khoản của bạn.

Tích hợp AppCenter và GitLab

Sau này, bạn cần đăng nhập bằng tài khoản BitBucket được yêu cầu.
* Phương án cuối cùng là xóa bộ nhớ đệm của trình duyệt.

Bây giờ hãy đến AppCenter. vào phần Build nhấn Ngắt kết nối tài khoản BitBucket

Tích hợp AppCenter và GitLab

Khi hủy liên kết tài khoản cũ, chúng tôi liên kết lại AppCenter. Bây giờ đến tài khoản mong muốn.

'eval' không được công nhận là lệnh nội bộ hoặc bên ngoài

Chúng tôi sử dụng nó thay vì một lệnh

  - eval $(ssh-agent -s)

Đội:

  - ssh-agent

Trong một số trường hợp, bạn sẽ phải chỉ định đường dẫn đầy đủ tới C:Program FilesGitusrbinssh-agent.exe hoặc thêm đường dẫn này vào các biến hệ thống trên máy nơi trình chạy đang chạy

AppCenter Build đang cố gắng khởi chạy bản dựng cho một dự án từ kho lưu trữ bitBucket đã lỗi thời

Trong trường hợp của tôi, vấn đề phát sinh do tôi đang làm việc với nhiều tài khoản. Tôi quyết định xóa bộ nhớ cache.

Nguồn: www.habr.com

Thêm một lời nhận xét