Giter VIP home page Giter VIP logo

gitpod-io / gitpod Goto Github PK

View Code? Open in Web Editor NEW
12.3K 141.0 1.2K 88.2 MB

The developer platform for on-demand cloud development environments to create software faster and more securely.

Home Page: https://www.gitpod.io

License: GNU Affero General Public License v3.0

JavaScript 0.29% Smarty 0.01% Shell 1.24% Go 36.83% TypeScript 36.58% HTML 0.05% Dockerfile 0.40% CSS 0.08% Makefile 0.07% C 0.03% Mustache 0.01% Jsonnet 0.20% Java 22.20% Kotlin 1.83% Jupyter Notebook 0.05% HCL 0.12%
cloud-ide gitpod ide editor dev-environment cloud disposable prebuilds code-review remote-development

gitpod's Introduction

Gitpod Logo
Gitpod

Always ready-to-code.

Gitpod ready-to-code Discord

Gitpod is an open-source Kubernetes application for ready-to-code cloud development environments that spins up fresh, automated dev environments for each task, in the cloud, in seconds. It enables you to describe your dev environment as code and start instant, remote and cloud development environments directly from your browser or your Desktop IDE.

Tightly integrated with GitLab, GitHub, and Bitbucket, Gitpod automatically and continuously prebuilds dev environments for all your branches. As a result, team members can instantly start coding with fresh, ephemeral, and fully-compiled dev environments - no matter if you are building a new feature, want to fix a bug, or do a code review.

browser-vscode

Features

πŸ— Dev environments as code - Gitpod applies lessons learned from infrastructure-as-code. Spinning up dev environments is easily repeatable and reproducible empowering you to automate, version-control, and share dev environments across your team.

⚑️ Prebuilt dev environments - Gitpod continuously prebuilds all your git branches similar to a CI server. Control how Gitpod pre-configures and initializes environments before you even start a workspace through init commands in your .gitpod.yml.

🐳 Integrated Docker build - Gitpod instantly starts a container in the cloud based on your Docker image. Tools that are required for your project are easy to install and configure.

πŸ‘ GitLab, GitHub, and Bitbucket integration - Gitpod seamlessly integrates into your workflow and works with all major git hosting platforms including GitHub, GitLab and Bitbucket.

πŸ‘€ Integrated code reviews - with Gitpod you can do native code reviews on any PR/MR. No need to switch context anymore and clutter your local machine with your colleagues' PR/MR.

πŸ‘―β€β™€οΈ Collaboration - invite team members to your dev environment or snapshot any state of your dev environment to share it with your team asynchronously.

πŸ›  Professional & customizable developer experience - a Gitpod workspace gives you the same capabilities (yes, even root & docker) as your Linux machine - pre-configured and optimized for your individual development workflow. Install any VS Code extension with one click on a user and/or team level.

Learn more πŸ‘‰

Getting Started

You can start using Gitpod in one or more of the following ways:

  1. Quickstart using an Example Project or OSS Project
  2. Getting started with one of your existing projects
  3. Use a Prefixed URL
  4. Install Browser Extension
  5. Enable GitLab Integration

Documentation

All documentation can be found on https://www.gitpod.io/docs. For example, see Introduction and Getting Started sections. See also: Gitpod Architecture πŸ“š.

Also check out awesome-gitpod ✨

Questions

For questions and support please use Discord. Join the conversation, and connect with other community members. πŸ’¬

You can also follow @gitpod for announcements and updates from our team.

Issues

The issue tracker is used for tracking bug reports and feature requests for the Gitpod open source project as well as planning current and future development efforts. πŸ—ΊοΈ

You can upvote popular feature requests or create a new one.

How do GitHub Issues get prioritized?

Each Gitpod team has its own project board that follows a similar structure. You can find these project boards attached to the GitHub organization. Each team board has a "GroundWork" tab which shows current GitHub issues in progress. Each team project board also has an "inbox" where issues are sent for review by the team (and should be responded to within 48 hours). "Upvoting" by reacting to GitHub issues helps signal to Gitpod that issues are important to you. If you are unsure of the status of an issue, please comment and a Gitpodder should respond to you shortly. For any other questions, please utilize the Gitpod community.

Adding a new component to Gitpod

For new Go projects, please update gitpod-ws.code-workspace to include the folder. Why? This will make it so that IntelliSense works with your project, without having to exclusively open the project in a separate context, e.g. code components/<my-new-component>. References 12

Related Projects

During the development of Gitpod, we also developed some of our own infrastructure toolings to make development easier and more efficient. To this end, we've developed a number of open source projects including:

  1. Werft - A Kubernetes native CI system
  2. Leeway - A heavily caching build system
  3. Dazzle - An experimental Docker image builder
  4. OpenVSCode Server - Run the latest VS Code on a remote machine accessed through a browser

Code of Conduct

We want to create a welcoming environment for everyone who is interested in contributing to Gitpod or participating in discussions with the Gitpod community. This project has adopted the Contributor Covenant Code of Conduct, version 2.0.

gitpod's People

Contributors

akosyakov avatar aledbf avatar alextugarev avatar arthursens avatar corneliusludmann avatar csweichel avatar easycz avatar felladrin avatar filiptronicek avatar furisto avatar geropl avatar gtsiolis avatar iqqbot avatar jankeromnes avatar jeanp413 avatar jenting avatar kylos101 avatar laushinka avatar mads-hartmann avatar meysholdt avatar mustard-mh avatar nandajavarma avatar pothulapati avatar roboquat avatar sagor999 avatar selfcontained avatar svenefftinge avatar utam0k avatar vulkoingim avatar wverlaek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gitpod's Issues

new vue.js project preview yields "Invalid Host header"

Installing the vue cli via "npm i -g @vue/cli" and running "vue create hello-world" worked great. However, running it with "yarn serve" and previewing the output on port 8080 yielded a page that said only "Invalid Host header".

Can't start test instance: port 3000 not exposed

When starting a test instance, from the review/dev instance (opened on PR 1775), I got the following error:

Sorry, that should not have happened!
Port '3000' of workspace is not exposed. Please, update your '.gitpod' config file.

Here is how I tried to start the test instance:

root /workspace/theia/examples/browser # yarn run start hostname=0.0.0.0 ../../

Github PR merge error not handled

Describe the bug
When merging is not possible, because a review is necessary, for example, the Merge button is green but clicking on it does nothing. In the Javascript console, an error is printed:

Error: {"message":"At least 1 approving review is required by reviewers with write access.","documentation_url":"https://help.github.com/articles/about-protected-branches"}

To Reproduce

  • Open a PR on the Theia repo, make sure nobody approves it so the merge button on Github is disabled
  • Try to merge this PR from gitpod

Expected behavior
I see two possible behaviors:

  1. Grey-out the button, in some hover text explain why the button is greyed out.
  2. When clicking the Merge button, if there is an error, show it the standard way errors are shown in Theia.

Swift Support

Create Swift extension and make it available in Gitpod.

Please add a link to the Browser Extensions on signed-in gitpod.io

Thanks for an amazing service! (We're actually building something similar over at https://jntr.io -- truly love your expose-ports-on-the-fly feature!)

Just a quick suggestion: I was searching for your Browser Extensions after trying out the service, but once signed in to https://gitpod.io, the website loses a lot of content (and there is no link to the Browser Extensions).

I had to type "docs.gitpod.io" into my search bar because I remembered the URL to find the Browser Extension link, but other users might not know / remember that URL.

[Firefox Extension] Move Button

In the gitpod firefox extension, I would suggest putting the gitpod button on the left of the "Clone or download"
The reason being that the gitpod button appears a little bit after the page has started rendering

So it's likely that I'll want to click on "Clone or download" and accidentally click on "Gitpod" because it appeared a millisecond before I clicked

cc/ @simark

"integrated chat" on status bar non functional

Yesterday, using the service from my home machine, I tried to use the chat feature, but clicking on the button had no effect. Other status bar button were working as expected.

That was with the Brave browser.

[c/c++] Support clang formatting and add cmake

Feedback from twitter:

try doing some level of work with my open source repo -- http://github.com/nanomsg/nng -- open any C file to see what I mean, and you have no chance to build this in the container whatsoever.

tried it... but no clang-format, no cmake, and no way to install either. No way that I can tell to tell it to understand include directories either, so most of my symbols are unknown. No, this isn't ready for "real" production C/C++ use yet.

Consent Flow interrutps opening the GitPod Workspace

The first time I used GitPod, it has to go to GitHub to prompt for consent. When I'm redirected back, GitPod isn't stashing/unstashing state, and so I end up on my list of workspaces (empty).

Re-clicking GitPod does the correct thing, of course.

Just a small UX issue.

Pull GitPod configs from user's repositories

The https://github.com/gitpod-io/definitely-gp repo is a great idea for getting public projects to work smoothly with GitPod. However for several reasons, there's a need to allow users to specify customized GitPod configurations that aren't global and aren't in the loaded projects' repository.

As an alternative, it would be very nice to check a user's repo list and detect if they have a "definitely-gp" repository and always prefer the config found there over the other public sources (the preference order would be: user/definitely-gp > project's .gitpod file > gitpod/definitely-gp).

This would allow the user ultimate control over the .gitpod configuration.

[Issue Context] Always have default branch state

When I create a workspace from an issue, the local branch should always be based on the current state of the default branch (i.e. origin/master in most cases).

This is unfortunately not the case, when I create a PR for which already a remote branch exists.

Support Go packages with sub-packages

When I try to work on my project https://github.com/gomarkdown/markdown I get:

gitpod /workspace/markdown $ go build
markdown.go:7:2: cannot find package "github.com/gomarkdown/markdown/ast" in any of:
        /usr/local/go/src/github.com/gomarkdown/markdown/ast (from $GOROOT)
        /workspace/src/github.com/gomarkdown/markdown/ast (from $GOPATH)
        /usr/local/go-packages/src/github.com/gomarkdown/markdown/ast
markdown.go:8:2: cannot find package "github.com/gomarkdown/markdown/html" in any of:
        /usr/local/go/src/github.com/gomarkdown/markdown/html (from $GOROOT)
        /workspace/src/github.com/gomarkdown/markdown/html (from $GOPATH)
        /usr/local/go-packages/src/github.com/gomarkdown/markdown/html
markdown.go:9:2: cannot find package "github.com/gomarkdown/markdown/parser" in any of:
        /usr/local/go/src/github.com/gomarkdown/markdown/parser (from $GOROOT)
        /workspace/src/github.com/gomarkdown/markdown/parser (from $GOPATH)
        /usr/local/go-packages/src/github.com/gomarkdown/markdown/parser

The problem is that GOPATH is set to /workspace;/usr/local/go-packages/src but the package is checked out to /workspace/markdown.

In order for sub-package github.com/gomarkdown/markdown/ast to be visible, the code would have to be checked out as /workspace/src/github.com/gomarkdown/markdown.

Which might be tricky since it requires auto-detecting that this is Go codebase.

If you upgrade go from 1.9.5 to latest 1.11 then at least packages that have go.mod will work properly.

C# Support

Add C# Extension and make it available in Gitpod.

improve message "Port 'xxxx' of workspace is not exposed"

Currently, the message is:

Sorry, that should not have happened!
Port '34449' of workspace is not exposed. Please, update your '.gitpod' config file.

For authenticated users, we could have a button here to expose the port.
A pointer to the "Ports" View and the documentation would be helpful, too.

[review] Edit pending comment: latest version should be opened

Describe the bug
When editing a pending review comment, the original version of the comment is opened for edition, instead of the latest version.

To Reproduce
Add a pending review comment, click on "Update comment"
Edit comment, click on "Update comment"
-> new version of comment displayed
Edit comment again
-> original, not latest version of comment, is opened for edition

Expected behavior
When editing a pending comment, the latest version should be opened for edition

peek 2018-08-28 08-09

Gitlab support

Support launching Gitpod workspaces from git repositories hosted in Gitlab.

Requested here.

starting "test" Theia instance only works once in a given terminal?

Reviewing / trying a PR, I used the service. When first started, a terminal was already there, building the PR code. When done, I started a test Theia (yarn run start...) and got the pop-up to open the test instance in a new tab.

Later I restarted the backend, by killing the current one and re-running the command. That time I did not get the pop-up. It however worked when I tried in a fresh terminal.

Handle old PRs with deleted branches.

For a non-obvious reason, trying to review code from PR 1855, resulted in an instance where the source code was not cloned. In consequence, directory /workspace/ was empty and no workspace was set. I just tried with a different PR, and this did not happen.

abc

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior.

Expected behavior
A clear and concise description of what you expected to happen.

Please include current Git branch in the Terminal prompt

Current prompt:

gitpod /workspace/definitely-gp $

Expected prompt:

gitpod /workspace/definitely-gp (master) $

Since __git_ps1 seems to be installed (by default alongside git), this could be achieved like so:

PS1='\[\033[01;32m\]\u\[\033[00m\] \[\033[01;34m\]\w\[\033[00m\]$(__git_ps1 " (%s)") $ '

(source but with \u \w instead of \u@\h:\w to imitate the current gitpod prompt)

Auto-detect and set up Go projects

At the moment Go users are forced to configure their project using a .gitpod file (documented here).
Gitpod should detect if something looks like a Go project and in absence of a .gitpod file, set it up properly (i.e. change checkoutLocation and workspaceLocation).

Root/sudo permission

Just a question, I'm trying to execute some selenium tests, I was trying to add chrome but looks like the user is not sudo in the container.

Workspace not reacheable

When attempting to open this PR: eclipse-theia/theia#1983 . I tried again, chose to have GitPod create a new workspace, and the same problem happened again.

Not sure if it's something with that specific PR or general.

image

image

test for git pod

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior.

Expected behavior
A clear and concise description of what you expected to happen.

[Dashboard] Add links to website, docs, blog and footer with social media links

When one is logged in, it's impossible to find anything else about the company (like docs, blog, or links to github/twitter etc.).

The website and the app use the same domain and the app is stripped from any information that is reachable from the website.

At the very list add a footer with links to most important places like docs, blog, github etc..

Review comments not visible from Pull Request view

For PR 1858, only the initial comment, describing the PR content, is visible in the Pull Request view. Further conversations, visible from GH are not present. Not sure if it makes a difference, but the one visible comment contains an animated image.

I was still able to successfully add a comment, using the "Review Changes" button, from the view.

Can't access the ide

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior.

Expected behavior
A clear and concise description of what you expected to happen.

opening PR for first time, gitpod opens my "workspaces" page

This has happened a couple of times recently, but not every time.

I start from a GH PR URL, "converting" it to use it with gitpod (opening that PR for the first time with gitpod). Gitpod then takes me to my workspaces page, where I see previously used workspaces, for different PRs.

Re-starting from the PR URL, a new gitpod workspace is created and opened, as originally expected.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.