How can I deploy middleman to a VPS? - ruby

I have a middleman project that I want to deploy it to a VPS. the documentation of middleman(build/deploy) is very poor and the gem that name it there (middleman-deploy) is not working.
My question is how can I deploy the project in my own hand without a gem?
Is the build folder enough for deployment? I mean, can I just copy that folder to production server or something else?
Thank you.

You are right
Simply copy the /build and push it to your VPS.
If you want to automate this task have a look at after_build method
https://middlemanapp.com/advanced/custom-extensions#after_build
'bundle exec middleman build',
'echo "== Build the project =="',
'cd build/',
'git add -A',
'git commit -m build',
'echo "== Pushing changes =="',
'git push origin master',

Related

using deploy terminal heroku from file to server

problem on the photo.
when i use the git push heroku master terminal allways give me this response.
i search on google but i didn't find any qestion on my language.
i follow all codes but i see this.
heroku login
$ cd my-project/
$ git init
$ heroku git:remote -a afbchatapp
and
$ git add .
$ git commit -am "make it better"
$ git push heroku master
enter code here
What language are you using?
Let's start with the problem at the beginning. Usually, Heroku tries to automatically detect the type of app you deploy by looking for certain files that act as signatures for the language you're using. So for example if it's a NodeJS app and you're deploying from Github, Heroku will look for the package.json file in the main branch. You can find the rest of the information for other files here. You may want to look at this first.
From there this solution to an almost similar problem should be able to fix the push.

Streamline Deployment to Heroku

I have been using heroku. I'm working alone on a small project. Every time I deploy I have to type:
git add .
git commit -m "the same random thing"
git push heroku master
Is there a way to automate this so I can type deploy?
I'm using python for the app so if the tool were in python that would be nice.

How to see files and file structure on a deployed Heroku app

My client app that is deployed on Heroku allows the user to upload images onto Heroku. I wanted to test out a change I made to delete images, so I need a way to see the state of the folder structure on Heroku to ensure the images are being deleted successfully of the file system.
I tried -
$ heroku run bash --app <appName>
~$ pwd
~$ cd <path to images folder>
but I only see images here that I uploaded along with the app, not what was uploaded through the client app.
What am I doing wrong?
I can do with this commands
heroku login
heroku run bash -a APPNAME
$ cd app
APPNAME is the name of your Heroku application And in the folder app are your files.
When you finish your commands and want to return to your terminal you can write
$ exit
Terminal access is now provided by clicking a link "More" on the top right of the Heroku dashboard where you can select "run console".
This presents an option to run terminal commands and shows a default of 'bash'. However, you do have to explicitly enter 'bash' or other command.
If you edit files, you will have to manage synchronization back to your development code using Git.
As in #Juliano Araújo's answer but from a project folder connected via git you can just run
heroku run bash
You can do this with,
heroku run bash -a APPNAME
If the above command fails,
heroku run sh -a APPNAME
`
app settings option gives our files url
`
Then use git clone
git clone https://git.heroku.com/your_app_name.git
So none of the above worked for me on windows and couldn't access my files so I decided to just clone the git repo.
git clone <git-url>

Run 'composer update' after a git push

I've got a system setup so that people can clone a repo on the server, work on it, and when finished push it back to the server. This repo then does a git checkout to the actual 'webfolder'.
But since the framework used it Laravel, and it could be that someone made changes to the composer.json file, I would like to run composer update right after the push (on the 'webfolder')
System is Windows Server 2008 R2.
Is this possible? I've tried to put something alone the lines of this in de post-receive hook, but that didn't work:
#!/bin/sh
GIT_WORK_TREE=C:/inetpub/wwwroot/website git checkout -f
C:/inetpub/wwwroot/website composer update
EDIT:
First I got no output at all, but now I got output that C:/inetpub/... was a file, so I changed it to this:
#!/bin/sh
GIT_WORK_TREE=C:/inetpub/wwwroot/website git checkout -f
cd C:/inetpub/wwwroot/website
composer update
But that also doesn't work, cause now I get bunch of error stuff which is dumped to a file called sh.exe.stackdump. And the only useful thing that file tells me is Exception: STATUS_ACCESS_VIOLATION. So I think it has something to do with permissions?

Can I use gollum to create a wiki which isn't hosted by Github?

I want to create a wiki with gollum and push it to my own git repo, is that possible?
I created a new git repo, install gollum and started it. I got the "edit/Home" page. I added some content, saved...all looked good. Even the "revision history" showed that revisions occurred.
Then I stopped gollum and found there was nothing new in my git repo, I even checked if stuff hadn't been pushed...nothing. I'm not sure how/where it's storing the content that I add when I run it.
Any ideas?
Thanks
Gollum will not sync with a git remote. It will never perform git pull or git push. You must have gollum running on the remote server, or you must manually run git push on machines where you make edits, and git pull on machines who also want to see the wiki. This could be part of a cron job if you're running locally.
It is much easier to have the gollum process running on your web server. See below for more information:
http://www.nomachetejuggling.com/2012/05/15/personal-wiki-using-github-and-gollum-on-os-x/#toc-synchronization-with-github
May be you are checking a wrong repository, the default is for gollum to use or create a git repository at the root of page files. It can be changed with the options --page-file-dir and --base-path (cf gollum --help)

Resources