AppCenter ಮತ್ತು GitLab ಇಂಟಿಗ್ರೇಷನ್

ಟ್ರಯಮ್, ಹಲೋ!

BitBucket ಮೂಲಕ GitLab ಮತ್ತು AppCenter ಏಕೀಕರಣವನ್ನು ಹೊಂದಿಸುವಲ್ಲಿ ನನ್ನ ಅನುಭವದ ಬಗ್ಗೆ ಮಾತನಾಡಲು ನಾನು ಬಯಸುತ್ತೇನೆ.

Xamarin ನಲ್ಲಿ ಕ್ರಾಸ್-ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಪ್ರಾಜೆಕ್ಟ್‌ಗಾಗಿ UI ಪರೀಕ್ಷೆಗಳ ಸ್ವಯಂಚಾಲಿತ ಉಡಾವಣೆಯನ್ನು ಹೊಂದಿಸುವಾಗ ಅಂತಹ ಏಕೀಕರಣದ ಅಗತ್ಯವು ಉದ್ಭವಿಸಿತು. ಕಟ್ ಕೆಳಗೆ ವಿವರವಾದ ಟ್ಯುಟೋರಿಯಲ್!

* ಸಾರ್ವಜನಿಕರು ಆಸಕ್ತಿ ಹೊಂದಿದ್ದರೆ ಕ್ರಾಸ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಪರಿಸ್ಥಿತಿಗಳಲ್ಲಿ UI ಪರೀಕ್ಷೆಯನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುವ ಕುರಿತು ನಾನು ಪ್ರತ್ಯೇಕ ಲೇಖನವನ್ನು ಮಾಡುತ್ತೇನೆ.

ನಾನು ಅಂತಹ ಒಂದು ವಸ್ತುವನ್ನು ಮಾತ್ರ ಅಗೆದು ಹಾಕಿದೆ ಲೇಖನ. ಆದ್ದರಿಂದ, ನನ್ನ ಲೇಖನವು ಯಾರಿಗಾದರೂ ಸಹಾಯ ಮಾಡಬಹುದು.

ಉದ್ದೇಶ: ನಮ್ಮ ತಂಡವು GitLab ಅನ್ನು ಆವೃತ್ತಿ ನಿಯಂತ್ರಣ ವ್ಯವಸ್ಥೆಯಾಗಿ ಬಳಸುವುದರಿಂದ AppCenter ನಲ್ಲಿ UI ಪರೀಕ್ಷೆಗಳ ಸ್ವಯಂಚಾಲಿತ ಉಡಾವಣೆಯನ್ನು ಹೊಂದಿಸಿ.

ಸಮಸ್ಯೆಯನ್ನು AppCenter ನೇರವಾಗಿ GitLab ನೊಂದಿಗೆ ಸಂಯೋಜಿಸುವುದಿಲ್ಲ ಎಂದು ಅದು ಬದಲಾಯಿತು. BitBucket ಮೂಲಕ ಬೈಪಾಸ್ ಅನ್ನು ಪರಿಹಾರಗಳಲ್ಲಿ ಒಂದಾಗಿ ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ.

ಕ್ರಮಗಳು

1. ಬಿಟ್‌ಬಕೆಟ್‌ನಲ್ಲಿ ಖಾಲಿ ರೆಪೊಸಿಟರಿಯನ್ನು ರಚಿಸಿ

ಇದನ್ನು ಹೆಚ್ಚು ವಿವರವಾಗಿ ವಿವರಿಸುವ ಅಗತ್ಯ ನನಗೆ ಕಾಣುತ್ತಿಲ್ಲ :)

2. GitLab ಅನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ

ರೆಪೊಸಿಟರಿಗೆ ತಳ್ಳುವಾಗ/ವಿಲೀನಗೊಳಿಸುವಾಗ, ಬದಲಾವಣೆಗಳನ್ನು ಬಿಟ್‌ಬಕೆಟ್‌ಗೆ ಅಪ್‌ಲೋಡ್ ಮಾಡುವುದು ನಮಗೆ ಅಗತ್ಯವಿದೆ. ಇದನ್ನು ಮಾಡಲು, ರನ್ನರ್ ಅನ್ನು ಸೇರಿಸಿ (ಅಥವಾ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ .gitlab-ci.yml ಫೈಲ್ ಅನ್ನು ಸಂಪಾದಿಸಿ).

ಮೊದಲು ನಾವು before_scripts ವಿಭಾಗಕ್ಕೆ ಆಜ್ಞೆಗಳನ್ನು ಸೇರಿಸುತ್ತೇವೆ

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

ನಂತರ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಅಪೇಕ್ಷಿತ ಹಂತಕ್ಕೆ ಸೇರಿಸಿ:

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

ನನ್ನ ವಿಷಯದಲ್ಲಿ, ನಾನು ಪಡೆದ ಫೈಲ್ ಇದು:

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

ನಾವು ಬಿಲ್ಡ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ, ನಮ್ಮ ಬದಲಾವಣೆಗಳು/ಫೈಲ್‌ಗಳು ಬಿಟ್‌ಬಕೆಟ್‌ನಲ್ಲಿವೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ.
* ಅಭ್ಯಾಸವು ತೋರಿಸಿದಂತೆ, SSH ಕೀಗಳನ್ನು ಹೊಂದಿಸುವುದು ಐಚ್ಛಿಕವಾಗಿರುತ್ತದೆ. ಆದರೆ, ಒಂದು ವೇಳೆ, ಕೆಳಗಿನ SSH ಮೂಲಕ ಸಂಪರ್ಕವನ್ನು ಹೊಂದಿಸಲು ನಾನು ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಒದಗಿಸುತ್ತೇನೆ

SSH ಮೂಲಕ ಸಂಪರ್ಕ

ಮೊದಲು ನೀವು SSH ಕೀಲಿಯನ್ನು ರಚಿಸಬೇಕಾಗಿದೆ. ಇದರ ಬಗ್ಗೆ ಅನೇಕ ಲೇಖನಗಳನ್ನು ಬರೆಯಲಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, ನೀವು ನೋಡಬಹುದು ಇಲ್ಲಿ.
ರಚಿಸಲಾದ ಕೀಲಿಗಳು ಈ ರೀತಿ ಕಾಣುತ್ತವೆ:
AppCenter ಮತ್ತು GitLab ಇಂಟಿಗ್ರೇಷನ್

ಮತ್ತಷ್ಟು ರಹಸ್ಯ ಕೀ GitLab ಗೆ ವೇರಿಯೇಬಲ್ ಆಗಿ ಸೇರಿಸಬೇಕಾಗಿದೆ. ಇದನ್ನು ಮಾಡಲು, ಸೆಟ್ಟಿಂಗ್‌ಗಳು > CI/CD > ಎನ್ವಿರಾನ್ಮೆಂಟ್ ವೇರಿಯೇಬಲ್‌ಗಳಿಗೆ ಹೋಗಿ. ನೀವು ರಹಸ್ಯ ಕೀಲಿಯನ್ನು ಉಳಿಸಿದ ಫೈಲ್‌ನ ಎಲ್ಲಾ ವಿಷಯಗಳನ್ನು ಸೇರಿಸಿ. ವೇರಿಯಬಲ್ ಅನ್ನು SSH_PRIVATE_KEY ಎಂದು ಕರೆಯೋಣ.
* ಈ ಫೈಲ್, ಸಾರ್ವಜನಿಕ ಕೀ ಫೈಲ್‌ನಂತೆ, ವಿಸ್ತರಣೆಯನ್ನು ಹೊಂದಿರುವುದಿಲ್ಲ
AppCenter ಮತ್ತು GitLab ಇಂಟಿಗ್ರೇಷನ್

ಅದ್ಭುತವಾಗಿದೆ, ಮುಂದೆ ನೀವು ಬಿಟ್‌ಬಕೆಟ್‌ಗೆ ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ಸೇರಿಸುವ ಅಗತ್ಯವಿದೆ. ಇದನ್ನು ಮಾಡಲು, ರೆಪೊಸಿಟರಿಯನ್ನು ತೆರೆಯಿರಿ ಮತ್ತು ಸೆಟ್ಟಿಂಗ್‌ಗಳು > ಪ್ರವೇಶ ಕೀಗಳಿಗೆ ಹೋಗಿ.

AppCenter ಮತ್ತು GitLab ಇಂಟಿಗ್ರೇಷನ್

ಇಲ್ಲಿ ನಾವು ಆಡ್ ಕೀ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ ಮತ್ತು ಫೈಲ್‌ನ ವಿಷಯಗಳನ್ನು ಸಾರ್ವಜನಿಕ ಕೀಲಿಯೊಂದಿಗೆ ಸೇರಿಸಿ (ವಿಸ್ತರಣೆಯೊಂದಿಗೆ ಫೈಲ್ .pub).

ಗಿಟ್ಲ್ಯಾಬ್-ರನ್ನರ್‌ನಲ್ಲಿ ಕೀಗಳನ್ನು ಬಳಸುವುದು ಮುಂದಿನ ಹಂತವಾಗಿದೆ. ಈ ಆಜ್ಞೆಗಳನ್ನು ಬಳಸಿ, ಆದರೆ ನಕ್ಷತ್ರ ಚಿಹ್ನೆಗಳನ್ನು ನಿಮ್ಮ ವಿವರಗಳೊಂದಿಗೆ ಬದಲಾಯಿಸಿ

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. AppCenter ಅನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ

ನಾವು AppCenter ನಲ್ಲಿ ಹೊಸ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ರಚಿಸುತ್ತೇವೆ.

AppCenter ಮತ್ತು GitLab ಇಂಟಿಗ್ರೇಷನ್

ಭಾಷೆ/ವೇದಿಕೆಯನ್ನು ಸೂಚಿಸಿ

AppCenter ಮತ್ತು GitLab ಇಂಟಿಗ್ರೇಷನ್

ಮುಂದೆ, ಹೊಸದಾಗಿ ರಚಿಸಲಾದ ಅಪ್ಲಿಕೇಶನ್‌ನ ಬಿಲ್ಡ್ ವಿಭಾಗಕ್ಕೆ ಹೋಗಿ. ಅಲ್ಲಿ ನಾವು ಬಿಟ್‌ಬಕೆಟ್ ಮತ್ತು ಹಂತ 1 ರಲ್ಲಿ ರಚಿಸಲಾದ ರೆಪೊಸಿಟರಿಯನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತೇವೆ.

ಅದ್ಭುತವಾಗಿದೆ, ಈಗ ನಾವು ನಿರ್ಮಾಣವನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬೇಕಾಗಿದೆ. ಇದನ್ನು ಮಾಡಲು, ಗೇರ್ ಐಕಾನ್ ಅನ್ನು ಹುಡುಕಿ

AppCenter ಮತ್ತು GitLab ಇಂಟಿಗ್ರೇಷನ್

ತಾತ್ವಿಕವಾಗಿ, ಎಲ್ಲವೂ ಅರ್ಥಗರ್ಭಿತವಾಗಿದೆ. ಪ್ರಾಜೆಕ್ಟ್ ಮತ್ತು ಕಾನ್ಫಿಗರೇಶನ್ ಆಯ್ಕೆಮಾಡಿ. ಅಗತ್ಯವಿದ್ದರೆ, ನಿರ್ಮಾಣದ ನಂತರ ಪರೀಕ್ಷೆಗಳ ಉಡಾವಣೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ. ಅವರು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ.

ಮೂಲಭೂತವಾಗಿ, ಅಷ್ಟೆ. ಇದು ಸರಳವೆಂದು ತೋರುತ್ತದೆ, ಆದರೆ, ಸ್ವಾಭಾವಿಕವಾಗಿ, ಎಲ್ಲವೂ ಸುಗಮವಾಗಿ ನಡೆಯುವುದಿಲ್ಲ. ಆದ್ದರಿಂದ, ಕೆಲಸ ಮಾಡುವಾಗ ನಾನು ಎದುರಿಸಿದ ಕೆಲವು ದೋಷಗಳನ್ನು ನಾನು ವಿವರಿಸುತ್ತೇನೆ:

'ssh-keygen' ಅನ್ನು ಆಂತರಿಕ ಅಥವಾ ಬಾಹ್ಯ ಆಜ್ಞೆಯಾಗಿ ಗುರುತಿಸಲಾಗಿಲ್ಲ.

ಪರಿಸರ ವೇರಿಯಬಲ್‌ಗಳಿಗೆ ssh-keygen.exe ಗೆ ಮಾರ್ಗವನ್ನು ಸೇರಿಸದ ಕಾರಣ ಇದು ಸಂಭವಿಸುತ್ತದೆ.
ಎರಡು ಆಯ್ಕೆಗಳಿವೆ: C:Program FilesGitusrbin ಅನ್ನು ಎನ್ವಿರಾನ್ಮೆಂಟ್ ವೇರಿಯೇಬಲ್‌ಗಳಿಗೆ ಸೇರಿಸಿ (ಗಣಕವನ್ನು ರೀಬೂಟ್ ಮಾಡಿದ ನಂತರ ಅನ್ವಯಿಸಲಾಗುತ್ತದೆ), ಅಥವಾ ಈ ಡೈರೆಕ್ಟರಿಯಿಂದ ಕನ್ಸೋಲ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ.

AppCenter ತಪ್ಪಾದ BitBucket ಖಾತೆಗೆ ಸಂಪರ್ಕಗೊಂಡಿದೆಯೇ?

ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು, ನೀವು AppCenter ನಿಂದ ನಿಮ್ಮ BitBucket ಖಾತೆಯನ್ನು ಅನ್‌ಲಿಂಕ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ನಾವು ತಪ್ಪು BitBucket ಖಾತೆಗೆ ಲಾಗ್ ಇನ್ ಮಾಡಿ ಮತ್ತು ಬಳಕೆದಾರರ ಪ್ರೊಫೈಲ್ಗೆ ಹೋಗುತ್ತೇವೆ.

AppCenter ಮತ್ತು GitLab ಇಂಟಿಗ್ರೇಷನ್

ಮುಂದೆ, ಸೆಟ್ಟಿಂಗ್‌ಗಳು > ಪ್ರವೇಶ ನಿರ್ವಹಣೆ > OAuth ಗೆ ಹೋಗಿ

AppCenter ಮತ್ತು GitLab ಇಂಟಿಗ್ರೇಷನ್

ನಿಮ್ಮ ಖಾತೆಯನ್ನು ಅನ್‌ಲಿಂಕ್ ಮಾಡಲು ಹಿಂತೆಗೆದುಕೊಳ್ಳಿ ಕ್ಲಿಕ್ ಮಾಡಿ.

AppCenter ಮತ್ತು GitLab ಇಂಟಿಗ್ರೇಷನ್

ಇದರ ನಂತರ, ನೀವು ಅಗತ್ಯವಿರುವ BitBucket ಖಾತೆಯೊಂದಿಗೆ ಲಾಗ್ ಇನ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ.
* ಕೊನೆಯ ಉಪಾಯವಾಗಿ, ನಿಮ್ಮ ಬ್ರೌಸರ್ ಸಂಗ್ರಹವನ್ನು ಸಹ ತೆರವುಗೊಳಿಸಿ.

ಈಗ AppCenter ಗೆ ಹೋಗೋಣ. ಬಿಲ್ಡ್ ವಿಭಾಗಕ್ಕೆ ಹೋಗಿ, ಬಿಟ್‌ಬಕೆಟ್ ಖಾತೆಯನ್ನು ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಿ ಕ್ಲಿಕ್ ಮಾಡಿ

AppCenter ಮತ್ತು GitLab ಇಂಟಿಗ್ರೇಷನ್

ಹಳೆಯ ಖಾತೆಯನ್ನು ಅನ್‌ಲಿಂಕ್ ಮಾಡಿದಾಗ, ನಾವು ಮತ್ತೆ AppCenter ಅನ್ನು ಲಿಂಕ್ ಮಾಡುತ್ತೇವೆ. ಈಗ ಬಯಸಿದ ಖಾತೆಗೆ.

'eval' ಅನ್ನು ಆಂತರಿಕ ಅಥವಾ ಬಾಹ್ಯ ಆಜ್ಞೆಯಾಗಿ ಗುರುತಿಸಲಾಗಿಲ್ಲ

ನಾವು ಅದನ್ನು ಆಜ್ಞೆಯ ಬದಲಿಗೆ ಬಳಸುತ್ತೇವೆ

  - eval $(ssh-agent -s)

ತಂಡ:

  - ssh-agent

ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ, ನೀವು C:Program FilesGitusrbinssh-agent.exe ಗೆ ಪೂರ್ಣ ಮಾರ್ಗವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕು ಅಥವಾ ರನ್ನರ್ ಚಾಲನೆಯಲ್ಲಿರುವ ಗಣಕದಲ್ಲಿ ಸಿಸ್ಟಮ್ ವೇರಿಯೇಬಲ್‌ಗಳಿಗೆ ಈ ಮಾರ್ಗವನ್ನು ಸೇರಿಸಬೇಕು.

AppCenter Build ಹಳತಾದ ಬಿಟ್‌ಬಕೆಟ್ ರೆಪೊಸಿಟರಿಯಿಂದ ಪ್ರಾಜೆಕ್ಟ್‌ಗಾಗಿ ನಿರ್ಮಾಣವನ್ನು ಪ್ರಾರಂಭಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದೆ

ನನ್ನ ವಿಷಯದಲ್ಲಿ, ನಾನು ಹಲವಾರು ಖಾತೆಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುತ್ತಿರುವುದರಿಂದ ಸಮಸ್ಯೆ ಉದ್ಭವಿಸಿದೆ. ನಾನು ಸಂಗ್ರಹವನ್ನು ತೆರವುಗೊಳಿಸಲು ನಿರ್ಧರಿಸಿದೆ.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ