All Projects → JetBrains → teamcity-symbol-server

JetBrains / teamcity-symbol-server

Licence: Apache-2.0 license
TeamCity Symbol Server plugin

Programming Languages

java
68154 projects - #9 most used programming language
C#
18002 projects

Projects that are alternatives of or similar to teamcity-symbol-server

tcWebHooks
WebHooks plugin for Teamcity. Supports many build states and payload formats.
Stars: ✭ 128 (+700%)
Mutual labels:  teamcity, teamcity-plugin
TeamCityApp
TeamCity in your pocket (Android application)
Stars: ✭ 48 (+200%)
Mutual labels:  teamcity, teamcity-plugin
teamcity-google-agent
TeamCity support for Google cloud build agents
Stars: ✭ 13 (-18.75%)
Mutual labels:  teamcity, teamcity-plugin
teamcity-s3-artifact-storage-plugin
TeamCity plugin which allows replacing the TeamCity built-in artifacts storage with AWS S3
Stars: ✭ 39 (+143.75%)
Mutual labels:  teamcity, teamcity-plugin
teamcity-azure-storage
TeamCity Azure artifacts storage support plugin
Stars: ✭ 14 (-12.5%)
Mutual labels:  teamcity, teamcity-plugin
teamcity-deployer-plugin
Deployer plugin for TeamCity CI server
Stars: ✭ 37 (+131.25%)
Mutual labels:  teamcity, teamcity-plugin
teamcity-commit-hooks
Plugin for TeamCity simplifying installation of webhooks for repositories in GitHub and GitHub Enterprise.
Stars: ✭ 24 (+50%)
Mutual labels:  teamcity, teamcity-plugin
teamcity-rust-plugin
TeamCity Rust and Cargo plugin
Stars: ✭ 29 (+81.25%)
Mutual labels:  teamcity, teamcity-plugin
teamcity-runas-plugin
The teamcity-runas plugin to run TeamCity build steps under a specified user account on Windows or Linux.
Stars: ✭ 20 (+25%)
Mutual labels:  teamcity, teamcity-plugin
DbgSymGrabber
Just another tool to download specify Symbol (.pdb) files
Stars: ✭ 35 (+118.75%)
Mutual labels:  pdb
pdb-benchmarks
Benchmarking common tasks on proteins in various languages and packages
Stars: ✭ 33 (+106.25%)
Mutual labels:  pdb
symreader-converter
Converts between Windows PDB and Portable PDB formats.
Stars: ✭ 50 (+212.5%)
Mutual labels:  pdb
dssp
Application to assign secondary structure to proteins
Stars: ✭ 56 (+250%)
Mutual labels:  pdb
cath-tools
Protein structure comparison tools such as SSAP and SNAP
Stars: ✭ 40 (+150%)
Mutual labels:  pdb
pdbfetch
Fetch PDB symbols directly from Microsoft's symbol servers
Stars: ✭ 33 (+106.25%)
Mutual labels:  pdb
terraform-provider-teamcity
Terraform Provider for Jetbrains TeamCity CI server
Stars: ✭ 70 (+337.5%)
Mutual labels:  teamcity
teamcity-settings
Example project using TeamCity's Versioned Settings and Kotlin DSL
Stars: ✭ 20 (+25%)
Mutual labels:  teamcity
ircpdb
Remotely and collaboratively debug your Python application via an IRC channel.
Stars: ✭ 59 (+268.75%)
Mutual labels:  pdb
CI-Report-Converter
The tool converts different error reporting standards for deep compatibility with popular CI systems (TeamCity, IntelliJ IDEA, GitHub Actions, etc).
Stars: ✭ 17 (+6.25%)
Mutual labels:  teamcity
jest-teamcity
Jest Teamcity Reporter
Stars: ✭ 29 (+81.25%)
Mutual labels:  teamcity

TeamCity Symbol Server plugin

official JetBrains project License build status

Allows using TeamCity as a symbol and source server.

Features

Download

You can download the plugin and install it as an additional TeamCity plugin for TeamCity 10.0+.

Requirements

On the build agents should installed:

Reported agent configuration parameters

During initialization this plugin reports the following agent configuration parameters:

  • WinDbg_Path - is a path to Debugging tools for Windows.

Usage

TeamCity as a symbol server should be referenced by the following URL <TEAMCITY_SERVER_URL>/app/symbols. The exact URL is available on the Administration | Integrations | Symbol Server page.

To enable symbols and sources indexing, add the Symbol Files Indexer build feature to the build configuration. After that all PDB files published as build artifacts of this configuration and all related sources will be indexed. The PDB files packed via TeamCity artifact publishing rules will be handled correctly.

For step-by-step instruction, see a related TeamCity blog post.

Authentication/Authorization

The indexed data can be accessed in both modes: public (not requiring authorization) and authorized. The plugin uses standard authentication settings provided by the TeamCity server.

The following permissions are checked:

  • View build runtime parameters and data - while accessing symbols,
  • View VCS file content - while accessing sources.

These are the default permissions of Project Developers.

If you are using the public URL to access symbols, you need to enable the Guest user login and assign the project developer role to the Guest to the Developers group.

When logging into TeamCity as a guest user, the corresponding permissions are checked to grant anonymous access to symbols and sources. If the guest user permissions are insufficient, all enabled HTTP authentication modules are applied and the user will be asked for credentials.

The access mode can be configured globally or on a project-level. Also, different access modes can be specified for the symbols and sources.

Using in docker containers

To use symbol indexing in build agents started from docker agent images you need to build a derrived image like that:

FROM jetbrains/teamcity-agent:latest-windowsservercore

# Install Windows SDK
RUN Invoke-WebRequest https://download.microsoft.com/download/5/A/0/5A08CEF4-3EC9-494A-9578-AB687E716C12/windowssdk/winsdksetup.exe?ocid=wdgcx1803-download-installer -OutFile winsdksetup.exe; \
    Start-Process winsdksetup.exe -Wait -ArgumentList /features + /q ; \
    Remove-Item -Force winsdksetup.exe

Overriding source server paths

If the URL of your Teamcity server changes, source indexing will not work for old builds because the old PDB files will still be referencing the old Teamcity URL. To fix this, you can override the Teamcity source path using the srcsrv.ini file. In the [variables] section, set TEAMCITY_BASE_PATH to the sources path of the new Teamcity server. For example:

[variables]
TEAMCITY_BASE_PATH=https://new_teamcity.example.com/app/sources

Common Problems

Failed to find Source Server tools home directory

Please ensure that Debugging tools for Windows were installed on the build agent.

Unable to view symbols in IDE

  • Ensure that required PDB file was indexed during the build by navigating to the hidden TeamCity build artifacts and inspect the xml files under ./teamcity/symbols/ directory. In the xml file sign attribute contains file signature and file atttribute contains file name.
  • Navigate in your browser to the page http://%teamcity%/app/symbols/%pdbFileName%/%fileSignature%/%pdbFileName% and check that pdb file was downloaded.
  • Ensure that IDE use correct credentials to access TeamCity server. Normally VS uses Windows Credentials Manager to get and store credentials. Failed authentication attemps are logged in the teamcity-auth.log server log file.

Build

This project uses gradle as a build system. You can easily open it in IntelliJ IDEA or Eclipse.

Contributions

We appreciate all kinds of feedback, so please feel free to send a PR or file an issue in the TeamCity tracker.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].