2 votes

Comment déployer une application react sur un serveur ubuntu avec un pipeline bitbucket ?

Je veux construire et déployer mon react app de mon master J'ai réussi à automatiser la construction de la branche mais je n'arrive pas à la transférer dans mon serveur. pipeline code ci-dessous, je reçois l'erreur suivante

pipelines:
  default:
    - step:
        name: Build Title
        script:
          - npm install
          - npm run build
          - mkdir packaged
          - tar -czvf packaged/package-${BITBUCKET_BUILD_NUMBER}.tar.gz -C build .
        artifacts:
          - packaged/**
    - step:
        name: Deploy to Web
        image: alpine
        trigger: manual
        deployment: production
        script:
          - mkdir upload
          - tar -xf packaged/package-${BITBUCKET_BUILD_NUMBER}.tar.gz -C upload
          - apk update && apk add openssh rsync
          - rsync -a  -e "ssh -o StrictHostKeyChecking=no" --delete upload/ $USERNAME@$SERVER:html/temp/react-${BITBUCKET_BUILD_NUMBER}
          - ssh -o StrictHostKeyChecking=no $USERNAME@$SERVER "rm -r html/www"
          - ssh -o StrictHostKeyChecking=no $USERNAME@$SERVER "mv 'html/temp/react-${BITBUCKET_BUILD_NUMBER}' 'var/www/html/deploy'"
          - ssh -o StrictHostKeyChecking=no $USERNAME@$SERVER "chmod -R u+rwX,go+rX,go-w html/www"

Journal des erreurs

+ rsync -a  -e "ssh -o StrictHostKeyChecking=no" --delete upload/ $USERNAME@$SERVER:html/temp/react-${BITBUCKET_BUILD_NUMBER}
load pubkey "/opt/atlassian/pipelines/agent/ssh/id_rsa": invalid format
rsync: mkdir "/$USERNAME/html/temp/react-15" failed: No such file or directory (2)
rsync error: error in file IO (code 11) at main.c(675) [Receiver=3.1.2]

2voto

purpler Points 368

J'ai remarqué que cela ne se produit que sur les images basées sur les Alpes. Par exemple, les images Debian fonctionnent bien. Cela se produit également sur Buddy, et pas seulement sur Bitbucket. Je suppose qu'il s'agit d'un bogue/problème Alpine en amont.

1voto

ryanoreilly Points 21

J'utilisais ce même script également, ci-dessous est ce qui a fini par fonctionner pour moi après beaucoup de frapper ma tête contre l'écran, la mise à jour de l'image et l'ajout d'artefacts de téléchargement semblent être le kicker.

default:
    - step:
        name: Build React Project
        script:
            - npm install
            - npm run-script build
            - mkdir packaged
            - tar -czvf packaged/package-${BITBUCKET_BUILD_NUMBER}.tar.gz -C build .
        artifacts:
            - packaged/**
    - step:
        name: Deploy to Web
        image: atlassian/default-image:latest
        trigger: manual
        deployment: production
        script:
            - mkdir upload
            - tar -xf packaged/package-${BITBUCKET_BUILD_NUMBER}.tar.gz -C upload
            - rsync -a --delete upload/ $USERNAME@$SERVER:/home/temp/react-${BITBUCKET_BUILD_NUMBER}
            - ssh $USERNAME@$SERVER "rm -r /home/www"
            - ssh $USERNAME@$SERVER "mv '/home/temp/react-${BITBUCKET_BUILD_NUMBER}' '/home/www'"
            - ssh $USERNAME@$SERVER "chmod -R u +rwX,go+rX,go-w /home/www"
        artifacts:
            - upload/**

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X