Triển khai đến Heroku bằng git trên bitbucket


82

Tôi muốn lưu trữ nguồn của mình trên bitbucket bằng git bởi vì tôi rõ ràng nhận được một kho lưu trữ riêng miễn phí và tôi muốn lưu trữ ứng dụng của mình trên heroku bằng mã nguồn từ bitbucket.

Tôi có thể làm điều đó bằng cách sử dụng ứng dụng khách github và đai công cụ heroku không. Nó sẽ hoạt động? Github rất tuyệt nhưng tôi không muốn mọi người nhìn thấy mã của mình và tôi không muốn trả tiền cho một repo riêng tư vì nó là một dự án nhỏ.


1
chính xác bạn đã giải quyết vấn đề của mình như thế nào? :)
Matthias

1
Nó thực sự rất dễ dàng. Chỉ cần tạo một repo trong bit bucket và thay đổi nguồn gốc của bạn trong tệp cấu hình thành tệp của repo và bạn có thể sử dụng bitbucket cho nội dung trái tim của mình.
Wasswa Samuel

1
Trong tệp cấu hình nào? Vấn đề cụ thể của tôi đang theo sau .. stackoverflow.com/questions/18127761/…
Matthias

Câu trả lời:


65

Việc triển khai lên Heroku sẽ hoạt động bất kể bạn lưu trữ mã của mình ở đâu vì Heroku CLI thêm điều khiển git từ xa của riêng nó để phục vụ cho việc triển khai. Trên thực tế, bạn thậm chí có thể git pulltừ Heroku, vì vậy về mặt kỹ thuật, bạn có thể sử dụng Heroku làm kho lưu trữ git riêng thay thế (mặc dù không được khuyến nghị). Đối với việc sử dụng ứng dụng khách GitHub để kết nối với bitbucket, chỉ cần thay đổi điều khiển từ xa của kho lưu trữ thành URL được cung cấp bởi bitbucket trong tab cài đặt của ứng dụng khách.


5
tôi nên thay đổi url từ xa ở đâu?
MaxySpark

Mặc dù tài liệu của Heroku có điều này để nói về vấn đề này: "Heroku cung cấp dịch vụ git chủ yếu để triển khai và khả năng sao chép từ nó được cung cấp như một sự tiện lợi. Chúng tôi thực sự khuyên bạn nên lưu trữ mã của mình trong một kho lưu trữ git khác như GitHub và coi đó là quy tắc. " ( nguồn )
Fabien Snauwaert 12/1218

@FabienSnauwaert Đồng ý. Tôi chắc chắn không khuyên bạn nên sử dụng Heroku git làm VCS chính. Tôi sẽ xem nếu tôi có thể cập nhật câu trả lời của mình để làm rõ điều này. Cảm ơn vì câu nói trên
Xavier

35

Chỉ để thêm vào câu trả lời của zeiv, người đã nói rằng nó sẽ hoạt động: Tôi có thể xác nhận rằng nó có. Chúng tôi sử dụng bitbucket để lưu trữ git và triển khai cho heroku. Những gì bạn dường như không thể làm là thêm repo bitbucket của bạn vào tài khoản heroku của bạn để hiển thị lịch sử cam kết, tính năng này hiện đang bị giới hạn ở github (lỗi của heroku ;-)


15

Hòa nhập với Stefan - điều này hoạt động hoàn hảo. Đây là những gì tôi đã làm:

  1. Tôi thực sự thất vọng với cách blog WP của tôi đặt lại hàng ngày, giới thiệu bất kỳ ai đã điều hướng đến http://blog.example.com với một màn hình thiết lập, vì không có wp-config.php.
  2. Đã đăng nhập vào bitbucket.org.
  3. Đã liên kết tài khoản bitbucket và github của tôi.
  4. Đã yêu cầu repo "wp-blog" của tôi từ github, mà trước đây tôi đã liên kết với điều khiển từ xa heroku của mình.
  5. Được nhân bản vào fork mới này ("git clone https: //myname@bitbucket.org/myname/wp-blog_config.git ").
  6. Đã thêm một wp-config.php thích hợp.
  7. Đã thêm điều khiển từ xa heroku của tôi từ bên trong ngã ba mới này ("git remote add heroku git@heroku.com: adjective-noun-1234.git")
  8. Đã cam kết và triển khai cho heroku ("git push heroku master: master")

14

Bitbucket hiện hỗ trợ Pipelines , điều này sẽ giúp cho việc triển khai trên Heroku khá dễ dàng. Chỉ cần làm theo hướng dẫn này: https://confluence.atlassian.com/bitbucket/deploy-to-heroku-872013667.html

Của tôi bitbucket-pipelines.ymlđể đẩy nhánh chính cho Heroku trông như thế này:

image: node:6
clone:
  depth: full
pipelines:
  branches:
    master:
      - step:
          script:
            - git push -f https://heroku:$HEROKU_API_KEY@git.heroku.com/$HEROKU_APP_NAME.git $BITBUCKET_BRANCH

bạn có đạt được nó hoạt động không? Tôi vẫn không thể đẩy lên heroku :(
Alan Donizete

nvm, chỉ là lỗi đánh máy mà tôi không để ý :( ... haha, cảm ơn
Alan Donizete

Điều này hoạt động nhưng hãy đảm bảo sử dụng khóa API từ dashboard.heroku.com/account , không phải từheroku auth:token
katzmopolitan

4

Nếu bạn không muốn làm việc trong dòng lệnh và đẩy đến heroku toàn bộ thời gian và lo lắng về việc duy trì các khóa SSH (khá khó chịu nếu bạn làm việc trên các hộp khác nhau), thì hãy làm theo hướng dẫn này về cách thiết lập tích hợp liên tục bằng cách sử dụng mã. Nó là một plugin miễn phí trên heroku.

http://blog.codeship.io/2014/04/29/continuous-deployment-heroku-bitbucket-nodejs.html


2

Tôi tìm thấy trang này hữu ích

Tải về Heroku Toolbelt

Nếu bạn chưa có, hãy đăng nhập vào tài khoản Heroku của bạn và làm theo lời nhắc để tạo khóa công khai SSH mới.

$ heroku login

Tạo một kho lưu trữ Git mới

Khởi tạo kho lưu trữ git trong một thư mục mới hoặc hiện có

$ cd my-project/
$ git init
$ heroku git:remote -a PROJECTNAME

Triển khai ứng dụng của bạn

Cam kết mã của bạn vào kho lưu trữ và triển khai nó cho Heroku bằng Git.

$ git add .
$ git commit -am "make it better"
$ git push heroku master

Kho lưu trữ Git hiện có

Đối với các kho hiện có, chỉ cần thêm điều khiển từ xa heroku

$ heroku git:remote -a PROJECTNAME

4
nó có liên quan như thế nào đến bitbucket?
Laurent Michel,
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.