Einführung von CircleCI in einer persönlichen App, Beim Versuch, auf EC2 bereitzustellen, sind einige Fehler aufgetreten, daher werde ich die Lösung beschreiben.
config.yml
version: 2
jobs:
#Job bauen:Erstellen und testen Sie einen Docker-Container auf CircleCI
build:
docker:
- image: alpine
steps:
- checkout
- run:
name: Echo Test
command: echo "CircleCI Test"
#Job bereitstellen:SSH in EC2 und führen Sie die Bereitstellung durch
deploy:
machine:
image: circleci/classic:edge
steps:
- checkout
#Rufen Sie den in CircleCI registrierten privaten Schlüssel auf
- add_ssh_keys:
#SSH unter Verwendung von in CircleCI registrierten Umgebungsvariablen
- run: ssh ${USER_NAME}@${HOST_NAME} 'cd /var/www/myapp && git pull origin master'
workflows:
version: 2
# build_and_Job bereitstellen:Job rief zuerst an
build_and_deploy:
#Rufen Sie Build- und Deployment-Jobs auf
jobs:
- build
- deploy:
requires:
#Führen Sie den Build-Job vor dem Bereitstellungsjob aus!
- build
#Führen Sie den Bereitstellungsjob nur aus, wenn er an den Hauptzweig gesendet wird
filters:
branches:
only: master
ssh: connect to host ************* port 22: Connection timed out
【Lösung】 Bearbeiten Sie den Eingang der EC2-Sicherheitsgruppe wie folgt. Hinweis) Aus Sicherheitsgründen ist es vorzuziehen, einen Zwischenserver zu verwenden.
Portbereich | Quelle |
---|---|
22 | Meine IP xxx.xxx〜 |
↓
Portbereich | Quelle |
---|---|
22 | Benutzerdefiniert 0.0.0.0/0 |
(1) Führen Sie den folgenden Befehl auf EC2 aus, um einen PEM-Schlüssel zu erstellen (nennen Sie ihn z. B. circleci-key, da er möglicherweise mit anderen Schlüsseln in Konflikt steht).
ssh-keygen -m pem
(2) Führen Sie den folgenden Befehl auf EC2 aus und kopieren Sie den in (1) erstellten öffentlichen Schlüssel (key name.pub) in autorisierte_Tasten.
cat ~/.ssh/circleci-key.pub >> authorized_keys
③ Führen Sie den folgenden Befehl auf EC2 aus, um den in ① erstellten privaten Schlüssel anzuzeigen
cat ~/.ssh/circleci-key
④ Setzen Sie den angezeigten privaten Schlüssel auf den SSH-Schlüssel von CircleCI (Zu diesem Zeitpunkt enthalten Sie ----- BEGIN RSA PRIVATE KEY ----- und ----- END RSA PRIVATE KEY -----)
In meinem Fall wurde dadurch der Fehler behoben. Versuch es bitte.
[Verwendung von CircleCI](https://suwaru.tokyo/%E3%80%90%E4%BD%BF%E3%81%84%E6%96%B9%E3%80%91circleci%E3%81%A8 % E3% 81% AF% EF% BC% 9Fec2% E3% 81% ABssh% E3% 81% 97% E3% 81% A6% E3% 83% 87% E3% 83% 97% E3% 83% AD% E3 % 82% A4% E8% 87% AA% E5% 8B% 95% E5% 8C% 96 /)
Recommended Posts