Giter VIP home page Giter VIP logo

teamcity-deployment-dashboard's People

Contributors

vyadh 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

Watchers

 avatar  avatar  avatar  avatar

teamcity-deployment-dashboard's Issues

update plugin listing

Hello,

I see 1.10.0 is the newest version but on the plugin page on jetbrains it's showing 1.9.0 as the newest version.

More flexibility for version numbering

In #3 we allowed ignoring metadata parts of the build, but it doesn't really go far enough. We should be consistent with the use of properties for project and environment, which falls back on TeamCity concepts when not set.

This would allow specifying the TeamCity build number in any format, and being able to target a version format specifically for the plugin.

Multi environments per one deploy

Hey!
We have only one deployment with one parameter which include multi select environment values e.g. %hosts% = node1,node2,node3 and etc. Dashboard works fine only if we choose only one value. In dashboard we set Environment Property hosts and Environments: all values comma separated with Multi-Environment Build Configurations enabled.
Any chance you can add this feature?

Thanks!

Projects with longer branch names overlapping each other

We have several Projects with longer branch names (16+ characters) with 6+ Environments in the grid which results in the branch names overlapping both the Project names and other branch names in every Environment column making it unreadable. It would be nice to cutoff this text, wrap it or reduce the size so that there is no overlapping.

TeamCity-Deployment-Overlap

Support docker stack deployment

As you know docker support swarm mode, this means that you can define deployment of services with relevant versions in docker-compose file in YAML format.
For more information pl refer to https://docs.docker.com/engine/reference/commandline/stack_deploy/

So that I be able to deploy docker stack to docker swarm cluster using single command only, (e.g.: _docker stack deploy --compose-file docker-compose.yml vossibility) in TeamCity build configuration with type Deployment.

Question: How can I setup TeamCity Deployment Dashboard using docker stack deployment?

Remove old deployments from the board

Is there a way to remove 'old/redundant' items from displaying on the Deployment Dashboard?
WE have a Deployment Dashboard that has been in play for a number of years and over time there are a few old projects that we would like to remove from it - Is there any way to do this?

Docker build fails on unit tests

Console output:

FAIL src/util/dateTimes.test.js
  โ— time is formatted to the correct time zone

    expect(received).toBe(expected) // Object.is equality

    Expected: "7:30:00 pm"
    Received: "6:30:00 pm"

      28 |   let timeToday = date + 'T18:30:00Z' // As from server in UTC
      29 |
    > 30 |   expect(format(timeToday, timeFormatter)).toBe('7:30:00 pm') // as BST
         |                                            ^
      31 | })
      32 |

      at Object.<anonymous> (src/util/dateTimes.test.js:30:44)

Docker:
Server: Docker Engine - Community
Version: 20.10.0

Env:
GMT+03 (Minsk)
git bash
Windows 10 20H2 v19042

Removing single broken test helps, and build creates a .zip

Provide a way to customise display for specific builds

Occasionally there can be deployments which are manually adjusted or otherwise different because of production concerns. It would be useful for true dashboard to allow some customisation here.

Some ideas:

  • Picking up colours from a property
  • Reading tags to customise output
  • Ability to mark a deployment as cancelled
  • Using properties to highlight differences, e.g. deployment is to different region

Support displaying branch information

And take into account branch when deciding which build is old (i.e. the latest change on develop branch should show up as latest even if there is a feature branch build that is newer deployed to a different env

Simplify dashboard configuration

Currently it's a bit tricky to configure the dashboard. For instance it is not clear that only build configurations of Deployment type are considered. Seems it's not stated anywhere in the UI.

Maybe it would be better to have some preview of the dashboard right on the configuration page, or at least show what build configurations are matched by the provided criteria and why.

Case insensitive environment matching

Currently the environment lookup is case sensitive, which seems unnecessarily restrictive. If the environment is 'dev', 'DEV', or 'Dev' they should be treated the same. Particularly important when showing environments across projects and teams where consistency is harder to achieve.

The case of the environment displayed should be as those specified in the configuration of the dashboard and would need to be normalised when read from build data. This would allow better user facing labels, e.g. a code of 'uat' can become 'UAT' and 'develop' can become 'Develop' when shown.

Plugin shows only last deploy in last deployed environment

Hello Vyadh!

Its me again.

Still trying to setup you awesome plugin. But i'm stuck again.

Now its shows proper branch that was deployed, but only in last deployed environment
For example i deploy BAC-*** branch to 'highload' env:
dashboard

After that i deploy master (i aslo tried to deploy the same BAC-*** branch) branch to 'master' env.
Now dashboard shows status only for 'master' (last deployed) env.
dashboard-1

Project structure looks like this:
project_tree

Dashboard enabled for "Deploy" subproject and "hosts" env is configured also here in "Configuration Parameters"
Dashboard settings for this project:
plugin_settings

Plugin is updated to the last 1.4.0 version.

Faded icons

What is the significants between the bright and faded icons?
There seems to be no rhyme or reason for it.

Screen Shot 2019-07-12 at 9 52 37 AM

Strange behaviour

Hello Vyadh!
Trying to set up your awesome plugin, but i'm stuck.
I have a project with below settings:
Selection_011
I want to see a branch name on dashboard. So after deploying master branch i tried to deploy tagged branch 1.0.2
Selection_007
Branch name appears on dashboard while it was deploying
Selection_009
But after deploy branch name on dashboard changed to "master" again
Selection_010
What i'm doing wrong?

Links to builds do not use DNS name for the server if TeamCity not configured correctly

Currently using WebLinks.getViewResultsUrl(build), which uses the TeamCity setting in 'Administration / Global Settings / Server URL'. If the TeamCity server has not been configured correctly with the DNS name, clicking on a build will change the base URL and the user will have to login again.

To avoid this issue, try using RelativeWebLinks so it doesn't matter how TC is configured.

Incorrect parsing of environments

Seems this plugin expects that environments are separated by comma without any spaces.
For instance it does not work if environments are defined as:
env1, env2, env3

Note: the space after the environment name.

Production env in different project

Hey!
First of all many thanks for this great project!
We are using production env in different project because of security reasons. Any chance you can add possibilities to take environments from different projects? For example by project ID + env.param.

The last/latest build's version is not being used when two different build configs (master and branch) deploy to the same environment

The majority of my projects use two build configs (master and branch) that deploy to the same environments.
The Master build config is used for normal release cycle deployments.
The Branch build config is used primary for hotfix release cycle deployments.

Both build configs deploy to:
project = A
environment = TEST

It seems this plugin displays the first, or last, version it finds, for each project-environment.
It should display the most recent deployment according to the build date.

If the last build of Master was deployed yesterday and the last build of Branch was deployed this morning...
The Plugin should display the Branch's version info.

If the last build of Master was deployed yesterday and last build of Branch was deployed last month...
The Plugin should display the Master's version info.

Date/Time

Some deployments show the date and others just show the time.
Looks like a bug of some short
Screen Shot 2019-07-12 at 9 52 37 AM

More generic dashboard

Two things that I would like to see:

  • Making this applicable to all builds, not just Build configurations of type deployments. Is there any reason it has to be deployment build configs?
  • Being able to switch off the highlighting of the latest "version".

My use case: We have a "project" that collects higher-level test suites running in a multitude of environments. It would be great to have a dashboard that displays the current status of each of those. This pretty much permits us to do that, though the two features above are "annoyances" for that use-case.

Is this something you might consider fixing, accept a PR for, or would it be better to fork the dashboard for our own needs?

Support resolving parameter references

Currently the plugin shows parameters in the configuration as literal values that it finds. However, it may be that this is a reference to a parameter than references other parameters. For example, a parameter for "version" might be:

%version_number%+%build.counter%

These references are not resolved, which means configuration needs to output what has been computed in a literal way, which complicates TeamCity configuration. It also prevents use of parameters from earlier in the build chain - which is often the build number you're interested in.

Should support this scenario, but at the same time avoid performance regressions when no parameters are present.

Visualise personal builds

Personal builds are currently shown, but they look like any other build other than what has been specified in the version number.

It would be better to show personal builds quite differently as this effects what is being tested in a monolithic environment.

Document build instructions

We need to build the frontend via NPM and the backend via Gradle. Ideally the build would be all orchestrated by Gradle, but currently the two parts are separate and the way to do it is not documented, so that at least should be fixed in the short term.

The build is roughly the equivalent of doing the following after a clean checkout:

cd frontend
npm install
set CI=true && npm test
npm run build

cd ..
cp -R frontend/build/* server/src/main/resources/buildServerResources
gradle serverPlugin

mv server/build/distributions/server.zip ./deployment-dashboard.zip

Add history view/list of previous environment deployments

It would be helpful to add a view or list of previous deployments for a specific project/environment. This would be useful in order to help identify the specific build number that was deployed at specific point in time for a multi-environment deployment build configuration. Right now only the most recent deployment to an environment can be identified.

Allow ignoring irrelevant parts of the version string in "latest" semver calculation

The plugin currently uses semver to calculate what is the latest build, and either highlights/fades out deployments.

However, if you're not using the exact version number through different environments, the plugin does not highlight deployments as expected. For example, if you leave the build numbers for each deployment as independently incrementing.

A simple way to solve this is to assume that the semver part comes first, and anything after is just metadata. We could do this by ignoring anything after a space in the version string.

We should also better document how this works in the readme.

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.