Skip to content
This repository was archived by the owner on Nov 30, 2023. It is now read-only.

Commit ce1f043

Browse files
authored
Merge pull request #65 from Amblizer/rails
add Ruby on Rails 5 container
2 parents 5224ca6 + 13f10c0 commit ce1f043

File tree

7 files changed

+143
-0
lines changed

7 files changed

+143
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
FROM debian:latest
2+
3+
# Install vim, git, process tools
4+
RUN apt-get update \
5+
&& apt-get install -y \
6+
vim \
7+
git \
8+
procps
9+
10+
# Install ruby
11+
RUN apt-get install -y \
12+
ruby \
13+
ruby-dev \
14+
build-essential \
15+
libsqlite3-dev \
16+
zlib1g-dev \
17+
libxml2
18+
19+
# Install nodejs
20+
RUN apt-get install -y \
21+
nodejs
22+
23+
# Install debug tools
24+
RUN gem install \
25+
rake \
26+
ruby-debug-ide \
27+
debase
28+
29+
# Install sinatra MVC components
30+
RUN gem install \
31+
rails \
32+
webdrivers
33+
34+
# Clean up
35+
RUN apt-get autoremove -y \
36+
&& apt-get clean -y \
37+
&& rm -rf /var/lib/apt/lists/*
38+
39+
# Set the default shell to bash instead of sh
40+
ENV SHELL /bin/bash
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"name": "Ruby 2 Rails",
3+
"dockerFile": "Dockerfile",
4+
"extensions": [
5+
"rebornix.Ruby",
6+
],
7+
"runArgs": [],
8+
// Uncomment the next line if you want to publish any ports.
9+
// "appPort": ["80:80"],
10+
11+
// Uncomment the next line to run commands after the container is created.
12+
// "postCreateCommand": "cd ${input:projectName} && bundle install"
13+
}
90 Bytes
Binary file not shown.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
// Use IntelliSense to learn about possible attributes.
3+
// Hover to view descriptions of existing attributes.
4+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5+
"version": "0.2.0",
6+
"configurations": [
7+
{
8+
"name": "Rails App",
9+
"type": "Ruby",
10+
"request": "launch",
11+
// Current dir using env variable input in tasks.json
12+
"cwd": "${workspaceRoot}/test-project",
13+
// run bundle install before rails server
14+
"preLaunchTask": "Create test-project",
15+
"program": "bin/rails",
16+
"postDebugTask": "Delete test-project",
17+
// Setup debug binding IP and port.
18+
"args": ["s", "-b", "0.0.0.0", "-p", "80"],
19+
}
20+
]
21+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
// See https://go.microsoft.com/fwlink/?LinkId=733558
3+
// for the documentation about the tasks.json format
4+
"version": "2.0.0",
5+
"tasks": [
6+
{
7+
"label": "Create test-project",
8+
"type": "shell",
9+
"command": "rails new test-project -G --skip && cd test-project && bundle install"
10+
},
11+
{
12+
"label": "Delete test-project",
13+
"type": "shell",
14+
"command": "cd test-project && rm -rf * && rm -f .ruby-version"
15+
},
16+
],
17+
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Ruby 2 Rails 5
2+
3+
## Summary
4+
5+
*Develop Ruby on Rails 5 applications, includes everything you need to get up and running.*
6+
7+
| Metadata | Value |
8+
|----------|-------|
9+
| *Contributors* | The VS Code Team, [Amblizer][la] |
10+
| *Definition type* | Dockerfile |
11+
| *Languages, platforms* | Ruby |
12+
13+
## Using this definition with an existing folder
14+
15+
This definition does not require any special steps to use. Just follow these steps:
16+
17+
1. If this is your first time using a development container, please follow the [getting started steps](https://aka.ms/vscode-remote/containers/getting-started) to set up your machine.
18+
19+
2. To start then:
20+
1. Start VS Code and open your project folder.
21+
2. Press <kbd>F1</kbd> select and **Remote-Containers: Create Container Configuration File...** from the command palette.
22+
3. Select the Ruby 2 rails 5 definition.
23+
24+
3. To use latest-and-greatest copy of this definition from the repository:
25+
1. Clone this repository.
26+
2. Copy the contents of `.devcontainer` and `.vscode` fodlers under `containers/ruby-2-rails-5/` to the root of your project folder.
27+
3. Start VS Code and open your project folder.
28+
29+
4. After following step 2 or 3, the contents of the `.devcontainer` folder in your project can be adapted to meet your needs.
30+
31+
5. Finally, press <kbd>F1</kbd> and run **Remote-Containers: Reopen Folder in Container** to start using the definition.
32+
33+
## Testing the definition
34+
35+
This definition includes some test code that will help you verify it is working as expected on your system. Follow these steps:
36+
37+
1. If this is your first time using a development container, please follow the [getting started steps](https://aka.ms/vscode-remote/containers/getting-started) to set up your machine.
38+
2. Clone this repository.
39+
3. Start VS Code, press <kbd>F1</kbd>, and select **Remote-Containers: Open Folder in Container...**
40+
4. Select the `containers/ruby-2-rails-5` folder.
41+
5. After the folder has opened in the container, press <kbd>F5</kbd> to start the project.
42+
6. You should see "* Listening on tcp://0.0.0.0:80" in the Debug Console. Press <kbd>F1</kbd>. Select **Remote-Containers: Forward Porrt From Container...** then choose **Forward 80**, and by browsing http://localhost/ you should see "Yay! You’re on Rails!".
43+
7. From here, you can add breakpoints or edit the contents of the `test-project` folder to do further testing.
44+
45+
## License
46+
47+
Copyright (c) Microsoft Corporation. All rights reserved.
48+
49+
Licensed under the MIT License. See [LICENSE](https://github.com/Microsoft/vscode-dev-containers/blob/master/LICENSE).
50+
51+
<!-- links -->
52+
[la]: https://code.mzhao.page/

containers/ruby-2-rails-5/test-project/.keep

Whitespace-only changes.

0 commit comments

Comments
 (0)