Introduction de CircleCI dans une application personnelle, Lorsque j'ai essayé de déployer sur EC2, j'ai eu des erreurs, je vais donc décrire la solution.
config.yml
version: 2
 
jobs:
    #construire un emploi:Créer et tester un conteneur Docker sur CircleCI
    build:
        docker:
            - image: alpine
        steps:
            - checkout
            - run:
                name: Echo Test
                command: echo "CircleCI Test"
    #déployer le travail:SSH dans EC2 et effectuer le déploiement
    deploy:
        machine:
            image: circleci/classic:edge
        steps:
            - checkout
            #Appeler la clé privée enregistrée dans CircleCI
            - add_ssh_keys:
            #SSH utilisant des variables d'environnement enregistrées dans CircleCI
            - run: ssh ${USER_NAME}@${HOST_NAME} 'cd /var/www/myapp && git pull origin master'
 
workflows:
    version: 2
    # build_and_déployer le travail:Job appelé en premier
    build_and_deploy:
        #Appeler les tâches de création et de déploiement
        jobs:
            - build
            - deploy:
                requires:
                    #Exécutez le travail de génération avant le travail de déploiement!
                    - build
                #Exécuter le travail de déploiement uniquement lorsqu'il est transmis à la branche principale
                filters:
                    branches:
                        only: master
ssh: connect to host ************* port 22: Connection timed out
【Solution】 Modifiez le flux entrant du groupe de sécurité EC2 comme suit. Note) Il est préférable d'utiliser un serveur intermédiaire pour des raisons de sécurité.
| Gamme de ports | La source | 
|---|---|
| 22 | Mon IP xxx.xxx〜 | 
↓
| Gamme de ports | La source | 
|---|---|
| 22 | Personnalisé 0.0.0.0/0 | 
(1) Exécutez la commande suivante sur EC2 pour créer une clé pem (nommez-la comme circleci-key car elle peut entrer en conflit avec d'autres clés)
ssh-keygen -m pem
(2) Exécutez la commande suivante sur EC2 et copiez la clé publique (key name.pub) créée dans (1) dans allowed_keys.
cat ~/.ssh/circleci-key.pub >> authorized_keys
③ Exécutez la commande suivante sur EC2 pour afficher la clé privée créée dans ①
cat ~/.ssh/circleci-key
④ Définissez la clé privée affichée sur la clé SSH de CircleCI (À ce stade, incluez ----- BEGIN RSA PRIVATE KEY ----- et ----- END RSA PRIVATE KEY -----)
Dans mon cas, cela a effacé l'erreur, Essayez-le.
[Comment utiliser 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