Mediabistro Git Configuration: Difference between revisions

From Littledamien Wiki
Jump to navigation Jump to search
Line 19: Line 19:
</syntaxhighlight>
</syntaxhighlight>


== Cloning an existing repo ==
How to start working on an existing repo for the first time.
* `ssh` to `wmbdev1.iworld.com`
* Navigate to the appropriate directory and create a sandbox.<br />Using '''insidefacebook''' as an example:
<syntaxhighlight lang="bash">
$ cd /www/insidefacebook/git/
$ mkdir dbarchowsky
$ cd dbarchowsky
</syntaxhighlight>
* Clone the repo.
** Find the project on http://git.iworld.com
** Make a note of its clone property.
<syntaxhighlight lang="bash">
$ # the argument to "git clone" comes from the project proeperties found on git.iworld.com
$ git clone git@git.iworld.com:insidefacebook.git
</syntaxhighlight>
* Create a branch for the new task.
<syntaxhighlight lang="bash">
$ cd insidefacebook
$ git branch
$ # response should be "* master"
$ git co -b tm[TASK_ID]
$ git branch
$ # response should be " master" followed by "* tm[TASK_ID]"
</syntaxhighlight>
* Tar up the repo.
<syntaxhighlight lang="bash">
$ tar -czvf insidefacebook.tar.gz insidefacebook
</syntaxhighlight>
* FTP to the server.
* Download the tar file.
* Uncompress the tar file in the local working directory.
* Create a new PHP project in NetBeans.
** Set the '''run configuration''' for the project such that the files are uploaded to the sandbox on wbmdev1.iworld.com when they are saved.
** It's not necessary to have the project in a git repo locally. The repo is maintained on the sandbox on wmbdev1.iworld.com.
** After a file is uploaded, at the command line on the wmbdev1.iworld.com server:
<syntaxhighlight lang="bash">
$ git status -s
$ # the response should include the file that was uploaded
</syntaxhighlight>


==Basic workflow for a new task==
==Basic workflow for a new task==

Revision as of 23:21, 21 March 2013

Configuration

Logins & workflow

ssh: [uname]@wmbdev1.iworld.com

Git repositories (web interface) l/p:email/super-basic

Git on mediabistro wiki (including basic workflow)

Repositories

After logging in with SSH repos are found at

/www/[SITENAME]/git/[USERNAME]/[SITENAME]/

E.g. if my username is dbarchowsky and I need to work on the blogs:

$ cd /www/blogs/git/dbarchowsky/blogs/

Cloning an existing repo

How to start working on an existing repo for the first time.

  • ssh to wmbdev1.iworld.com
  • Navigate to the appropriate directory and create a sandbox.
    Using insidefacebook as an example:
$ cd /www/insidefacebook/git/
$ mkdir dbarchowsky
$ cd dbarchowsky
$ # the argument to "git clone" comes from the project proeperties found on git.iworld.com
$ git clone git@git.iworld.com:insidefacebook.git
  • Create a branch for the new task.
$ cd insidefacebook
$ git branch
$ # response should be "* master"
$ git co -b tm[TASK_ID]
$ git branch
$ # response should be " master" followed by "* tm[TASK_ID]"
  • Tar up the repo.
$ tar -czvf insidefacebook.tar.gz insidefacebook
  • FTP to the server.
  • Download the tar file.
  • Uncompress the tar file in the local working directory.
  • Create a new PHP project in NetBeans.
    • Set the run configuration for the project such that the files are uploaded to the sandbox on wbmdev1.iworld.com when they are saved.
    • It's not necessary to have the project in a git repo locally. The repo is maintained on the sandbox on wmbdev1.iworld.com.
    • After a file is uploaded, at the command line on the wmbdev1.iworld.com server:
$ git status -s
$ # the response should include the file that was uploaded

Basic workflow for a new task

Update Git repo and create new branch

  • Log in with SSH.
  • Navigate to the appropriate Git repo (see Repositories)
  • Get latest version of code
$ git co master
$ git pull
$ git co -b tm[TASK_ID]

Make edits with NetBeans IDE

NetBeans remote connection settings for wmbdev1.iworld.com
NetBeans run configuration for wmbdev1.iworld.com

Checking in edits

$ git status -s 
$ git add [PATH]
$ git commit -m "[task title]"
$ git push origin tm[TASK_ID]
  • The convention is to copy the task title from the task details and use that for the commit message.

Moving changes to preview (for review)

$ cd /www/[APPLICATION]/git/preview/
$ git fetch
$ git merge remotes/origin/tm[TASK_ID]

Now the changes will be visible at http://preview.blogs.mediabistro.com/[BLOG_TITLE]/

Documentation & release notes

  • QA Links: http://preview.blogs.mediabistro.com/[BLOG_TITLE]/
  • Application Changes: http://git.iworld.com/blogs/commits?ref=tm[TASK_ID]

See Also

Mediabistro Blogs Configuration