양호한 FTP를 통한 자동 배포

발표 이후, GitHub 작업은 워크플로우의 자동화 수준을 향상시키기 위해 저의 장기 대기 사항 목록에 있습니다.덕분에 나는 마침내 이 화제를 토론하기 시작했다.
나는 이것이 오늘 나를 부끄럽게 하는 일인지 정말 확실하지 않지만, 나는 여전히 좋은 FTP를 통해 대부분의 개인 소스 프로젝트의 구축 파일을 나의 서버로 수동으로 전송하고 있다.아마도 나는 단지 내가 생산한 서류에 대한 너무 많은 통제를 포기하고 싶지 않을 것이다.아니면 15년 동안 웹 개발을 한 후에 나는 무엇을 바꾸기 귀찮았다😅
그러나 구축할 때 FTP를 통해 파일을 서버에 자동으로 발표할 수 있는 좋은 GitHub 동작을 발견했습니다.

내 워크플로우


이것은 샘 코크란의 FTP-Deploy-Action, 이용Git-ftp이다.저는 주로 Vue를 만듭니다.Vue CLI가 있는 js 어플리케이션 - 따라서 내 정상적인 워크플로우는 다음과 같습니다.
  • ➕ 코드 변경(예: 중요한 보안 문제 해결)
  • 🔨 테스트 코드 변경
  • ✅ 이러한 변경 사항을 저장소에 제출
  • 🔁 vue-cli-service build를 사용하여 운영 최적화를 위한 새 생성 파일 생성
  • ❌ 운영 서버에서 이전 생성 파일 삭제
  • ⏫ 운영 서버에 새 생성 파일 업로드
  • 특히 마지막 두 가지는 나를 괴롭혔다. 왜냐하면 대부분의 경우 나는 약간의 변경을 추진하고 있기 때문이다. 이러한 변경은 몇 개의 파일에만 영향을 주었고, 나는 여전히 전체 응용 프로그램을 삭제하고 다시 불러왔다.이것이 바로 Git ftp가 진정으로 보답을 받는 곳입니다. 지난번 업로드된 이후 변경된 파일만 업로드할 수 있습니다!이것은 매우 유용한데, 특히 대량의 파일이 있는 항목에 대해서는 매우 유용하다.Git 서브 모듈을 사용하고 구축할 때마다 전체 항목을 업로드하는 등 PHP 프로젝트에 많은 시간이 소요됩니다.따라서 새 워크플로우는 다음과 같습니다.
  • ➕ 코드 변경(예: 중요한 보안 문제 해결)
  • 🔨 테스트 코드 변경
  • ✅ 이러한 변경 사항을 저장소에 제출
  • 🔁 vue-cli-service build를 사용하여 운영 최적화를 위한 새 생성 파일 생성
  • 뒤로 가서 GitHub FTP 배포 작업을 나머지 작업으로 완료
  • 제출 범주


    ✅ DIY 배포

    프로비저닝


    그렇다면 이 FTP 배포 작업은 어떻게 설정합니까?ftp-deploy.yaml 아래에 your-repo/.github/workflows/ 라는 프로필만 만들면 됩니다.이것이 바로 내 구성입니다.
    on:
      push:
        paths:
          - 'dist/*'
    name: FTP Deploy
    jobs:
      FTP-Deploy-Action:
        name: FTP-Deploy-Action
        runs-on: ubuntu-latest
        steps:
        - uses: actions/[email protected]
          with:
            fetch-depth: 2
        - name: FTP-Deploy-Action
          uses: SamKirkland/FTP-Deploy-Action@master
          with:
            ftp-server: ${{ secrets.ftp_server }}
            ftp-username: ${{ secrets.ftp_username }}
            ftp-password: ${{ secrets.ftp_password }}
            local-dir: dist/
    
    나는 아래에서 모든 부분을 설명해서 너희들이 어떻게 일을 하는지 이해하게 할 것이다💡
    라인
    설명하다
    1—4on: push: paths: 이 작업은 변경 사항이'dist/'디렉터리로 전송될 때만 시작됩니다. (Vue CLI의 기본 생성 폴더입니다.)
    오.name: GitHub 작업의 이름은 GitHub의 저장소 작업 탭에 표시됩니다.
    6—15jobs: FTP-Deploy-Action: ... 이 작업은 its documentation 에 따라 기본 구성됩니다.
    십육with: 이 절에서는 추가 요구 사항이나 선택 가능한 동작 구성을 허용합니다.
    17—19ftp-server: | ftp-username: | ftp-password: GitHub는 서버 URL, 사용자 이름, 암호 등 FTP 액세스 데이터를 알아야 합니다.더 뚜렷한 것은 이 프로필에 이 데이터를 저장하고 싶지 않다는 것입니다. encrypted secrets필요하면 포트 번호가 URL에 추가됩니다.보안 프로토콜을 지정할 수도 있습니다 (아래 보안 프롬프트 참조). 예를 들어: ftps://your.ftp-server.com:21이십local-dir: 이것은 전체 저장소가 아니라 (나의 예에서) "dist/"디렉터리만 업로드하고 나의 구축 파일이 있는 디렉터리를 확보합니다.
    추가 혜택: 업로드된 일부 파일을 명확하게 제거하려면 저장소의 루트 디렉터리에 .git-ftp-ignore 파일을 만들 수 있습니다. 작업 방식은 .gitignore 파일과 같습니다.

    추가 리소스/정보


    다음은 GitHub 작업 및git-ftp 저장소입니다.

    샘 코크란 / FTP 배포 작업


    GitHub 작업을 사용하여 FTP 서버에 GitHub 프로젝트 배포


    git ftp / git ftp


    Git를 사용하여 변경된 파일만 FTP 서버에 업로드합니다.


    안전 알림


    FTP 자체는 암호화되지 않은 파일을 전송합니다.따라서 FTP(TLS가 있는 FTP) 또는 SFTP(SSH 파일 전송)를 사용하는 것이 좋습니다. 이 두 가지 모두 git-ftp 지원됩니다.다행히도
    이 화제에 대한 그의 평론에 감사 드립니다.

    그것을 싸라


    그래서 우리는 GitHub가 FTP를 통해 자동으로 파일을 구축하는 것을 매우 간단하게 하는 것을 보았다.구성 파일을 만들고 저장소 기밀을 설정하기만 하면 됩니다.
    FTP를 통해 배포하고 워크플로우에 유용한 경우 알려 주십시오.
    편집 날짜: 2020년 9월 4일 (서버 URL 예시 및 보안 알림 추가)
    출판일: 2020년 9월 3일
    제목 이미지: https://codepen.io/devmount/full/qBZPpEM

    좋은 웹페이지 즐겨찾기